diff options
author | Jake Champlin <jake.champlin.27@gmail.com> | 2017-06-06 12:40:07 -0400 |
---|---|---|
committer | Jake Champlin <jake.champlin.27@gmail.com> | 2017-06-06 12:40:07 -0400 |
commit | bae9f6d2fd5eb5bc80929bd393932b23f14d7c93 (patch) | |
tree | ca9ab12a7d78b1fc27a8f734729081357ce6d252 /vendor/github.com/aws/aws-sdk-go/service/s3/sse.go | |
parent | 254c495b6bebab3fb72a243c4bce858d79e6ee99 (diff) | |
download | terraform-provider-statuscake-bae9f6d2fd5eb5bc80929bd393932b23f14d7c93.tar.gz terraform-provider-statuscake-bae9f6d2fd5eb5bc80929bd393932b23f14d7c93.tar.zst terraform-provider-statuscake-bae9f6d2fd5eb5bc80929bd393932b23f14d7c93.zip |
Initial transfer of provider code
Diffstat (limited to 'vendor/github.com/aws/aws-sdk-go/service/s3/sse.go')
-rw-r--r-- | vendor/github.com/aws/aws-sdk-go/service/s3/sse.go | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/sse.go b/vendor/github.com/aws/aws-sdk-go/service/s3/sse.go new file mode 100644 index 0000000..268ea2f --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/sse.go | |||
@@ -0,0 +1,44 @@ | |||
1 | package s3 | ||
2 | |||
3 | import ( | ||
4 | "crypto/md5" | ||
5 | "encoding/base64" | ||
6 | |||
7 | "github.com/aws/aws-sdk-go/aws/awserr" | ||
8 | "github.com/aws/aws-sdk-go/aws/awsutil" | ||
9 | "github.com/aws/aws-sdk-go/aws/request" | ||
10 | ) | ||
11 | |||
12 | var errSSERequiresSSL = awserr.New("ConfigError", "cannot send SSE keys over HTTP.", nil) | ||
13 | |||
14 | func validateSSERequiresSSL(r *request.Request) { | ||
15 | if r.HTTPRequest.URL.Scheme != "https" { | ||
16 | p, _ := awsutil.ValuesAtPath(r.Params, "SSECustomerKey||CopySourceSSECustomerKey") | ||
17 | if len(p) > 0 { | ||
18 | r.Error = errSSERequiresSSL | ||
19 | } | ||
20 | } | ||
21 | } | ||
22 | |||
23 | func computeSSEKeys(r *request.Request) { | ||
24 | headers := []string{ | ||
25 | "x-amz-server-side-encryption-customer-key", | ||
26 | "x-amz-copy-source-server-side-encryption-customer-key", | ||
27 | } | ||
28 | |||
29 | for _, h := range headers { | ||
30 | md5h := h + "-md5" | ||
31 | if key := r.HTTPRequest.Header.Get(h); key != "" { | ||
32 | // Base64-encode the value | ||
33 | b64v := base64.StdEncoding.EncodeToString([]byte(key)) | ||
34 | r.HTTPRequest.Header.Set(h, b64v) | ||
35 | |||
36 | // Add MD5 if it wasn't computed | ||
37 | if r.HTTPRequest.Header.Get(md5h) == "" { | ||
38 | sum := md5.Sum([]byte(key)) | ||
39 | b64sum := base64.StdEncoding.EncodeToString(sum[:]) | ||
40 | r.HTTPRequest.Header.Set(md5h, b64sum) | ||
41 | } | ||
42 | } | ||
43 | } | ||
44 | } | ||