[#182] Fix parsing signed headers in presigned urls
/ Vulncheck (pull_request) Failing after 3s Details
/ Builds (1.19) (pull_request) Successful in 8m22s Details
/ Builds (1.20) (pull_request) Failing after 3s Details
/ Lint (pull_request) Successful in 9m51s Details
/ Tests (1.19) (pull_request) Failing after 3s Details
/ Tests (1.20) (pull_request) Failing after 2s Details
/ DCO (pull_request) Failing after 2s Details

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
pull/182/head
Denis Kirillov 2023-08-08 09:17:35 +03:00
parent 18878b66d3
commit 6b109eee92
3 changed files with 3 additions and 1 deletions

View File

@ -12,6 +12,7 @@ This document outlines major changes between releases.
- Return appropriate 404 code when object missed in storage but there is in gate cache (#158)
- Replace part on re-upload when use multipart upload (#176)
- Fix goroutine leak on put object error (#178)
- Fix parsing signed headers in presigned urls (#182)
### Added
- Support dump metrics descriptions (#80)

View File

@ -153,7 +153,7 @@ func (c *center) Authenticate(r *http.Request) (*Box, error) {
Service: creds[3],
Region: creds[2],
SignatureV4: queryValues.Get(AmzSignature),
SignedFields: queryValues[AmzSignedHeaders],
SignedFields: strings.Split(queryValues.Get(AmzSignedHeaders), ";"),
Date: creds[1],
IsPresigned: true,
}

View File

@ -34,6 +34,7 @@ func PresignRequest(creds *credentials.Credentials, reqData RequestData, presign
}
req.Header.Set(AmzDate, presignData.SignTime.Format("20060102T150405Z"))
req.Header.Set(ContentTypeHdr, "text/plain")
signer := v4.NewSigner(creds)
signer.DisableURIPathEscaping = true