fix: set user metadata key to lowercase (#3894)
* fix: set user metadata key to lowercase * feat: simplify a bit
This commit is contained in:
@@ -409,10 +409,22 @@ func (s3a *S3ApiServer) proxyToFiler(w http.ResponseWriter, r *http.Request, des
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setUserMetadataKeyToLowercase(resp)
|
||||||
|
|
||||||
responseStatusCode := responseFn(resp, w)
|
responseStatusCode := responseFn(resp, w)
|
||||||
s3err.PostLog(r, responseStatusCode, s3err.ErrNone)
|
s3err.PostLog(r, responseStatusCode, s3err.ErrNone)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func setUserMetadataKeyToLowercase(resp *http.Response) {
|
||||||
|
for key, value := range resp.Header {
|
||||||
|
if strings.HasPrefix(key, s3_constants.AmzUserMetaPrefix) {
|
||||||
|
resp.Header[strings.ToLower(key)] = value
|
||||||
|
delete(resp.Header,key)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func passThroughResponse(proxyResponse *http.Response, w http.ResponseWriter) (statusCode int) {
|
func passThroughResponse(proxyResponse *http.Response, w http.ResponseWriter) (statusCode int) {
|
||||||
for k, v := range proxyResponse.Header {
|
for k, v := range proxyResponse.Header {
|
||||||
w.Header()[k] = v
|
w.Header()[k] = v
|
||||||
|
|||||||
Reference in New Issue
Block a user