diff options
Diffstat (limited to 'vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go')
-rw-r--r-- | vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go b/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go new file mode 100644 index 0000000..8463347 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go | |||
@@ -0,0 +1,46 @@ | |||
1 | package s3 | ||
2 | |||
3 | import ( | ||
4 | "github.com/aws/aws-sdk-go/aws/client" | ||
5 | "github.com/aws/aws-sdk-go/aws/request" | ||
6 | ) | ||
7 | |||
8 | func init() { | ||
9 | initClient = defaultInitClientFn | ||
10 | initRequest = defaultInitRequestFn | ||
11 | } | ||
12 | |||
13 | func defaultInitClientFn(c *client.Client) { | ||
14 | // Support building custom endpoints based on config | ||
15 | c.Handlers.Build.PushFront(updateEndpointForS3Config) | ||
16 | |||
17 | // Require SSL when using SSE keys | ||
18 | c.Handlers.Validate.PushBack(validateSSERequiresSSL) | ||
19 | c.Handlers.Build.PushBack(computeSSEKeys) | ||
20 | |||
21 | // S3 uses custom error unmarshaling logic | ||
22 | c.Handlers.UnmarshalError.Clear() | ||
23 | c.Handlers.UnmarshalError.PushBack(unmarshalError) | ||
24 | } | ||
25 | |||
26 | func defaultInitRequestFn(r *request.Request) { | ||
27 | // Add reuest handlers for specific platforms. | ||
28 | // e.g. 100-continue support for PUT requests using Go 1.6 | ||
29 | platformRequestHandlers(r) | ||
30 | |||
31 | switch r.Operation.Name { | ||
32 | case opPutBucketCors, opPutBucketLifecycle, opPutBucketPolicy, | ||
33 | opPutBucketTagging, opDeleteObjects, opPutBucketLifecycleConfiguration, | ||
34 | opPutBucketReplication: | ||
35 | // These S3 operations require Content-MD5 to be set | ||
36 | r.Handlers.Build.PushBack(contentMD5) | ||
37 | case opGetBucketLocation: | ||
38 | // GetBucketLocation has custom parsing logic | ||
39 | r.Handlers.Unmarshal.PushFront(buildGetBucketLocation) | ||
40 | case opCreateBucket: | ||
41 | // Auto-populate LocationConstraint with current region | ||
42 | r.Handlers.Validate.PushFront(populateLocationConstraint) | ||
43 | case opCopyObject, opUploadPartCopy, opCompleteMultipartUpload: | ||
44 | r.Handlers.Unmarshal.PushFront(copyMultipartStatusOKUnmarhsalError) | ||
45 | } | ||
46 | } | ||