aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--weed/s3api/auth_signature_v4.go9
1 files changed, 4 insertions, 5 deletions
diff --git a/weed/s3api/auth_signature_v4.go b/weed/s3api/auth_signature_v4.go
index 9cc3e2766..2aa5a9e01 100644
--- a/weed/s3api/auth_signature_v4.go
+++ b/weed/s3api/auth_signature_v4.go
@@ -666,9 +666,10 @@ func extractSignedHeaders(signedHeaders []string, r *http.Request) (http.Header,
}
switch header {
case "expect":
- // Golang http server strips off 'Expect' header, if the
- // client sent this as part of signed headers we need to
- // handle otherwise we would see a signature mismatch.
+ // Set the default value of the Expect header for compatibility.
+ //
+ // In NGINX v1.1, the Expect header is removed when handling 100-continue requests.
+ //
// `aws-cli` sets this as part of signed headers.
//
// According to
@@ -680,8 +681,6 @@ func extractSignedHeaders(signedHeaders []string, r *http.Request) (http.Header,
//
// So it safe to assume that '100-continue' is what would
// be sent, for the time being keep this work around.
- // Adding a *TODO* to remove this later when Golang server
- // doesn't filter out the 'Expect' header.
extractedSignedHeaders.Set(header, "100-continue")
case "host":
// Go http server removes "host" from Request.Header