Handle 'identity' as a valid Accept-Encoding value#31
Open
yteraoka wants to merge 1 commit intoAdguardTeam:masterfrom
Open
Handle 'identity' as a valid Accept-Encoding value#31yteraoka wants to merge 1 commit intoAdguardTeam:masterfrom
yteraoka wants to merge 1 commit intoAdguardTeam:masterfrom
Conversation
Some AWS SDK API requests include the Accept-Encoding header in the signature calculation. Previously, any non-empty Accept-Encoding header was rewritten to `gzip`. This caused a signature mismatch and resulted in an InvalidSignatureException error when the original value was `identity`. The `identity` value specifies that no compression should be used, so it is a valid and supported encoding that should not be changed. This change ensures that the header value is only rewritten if it's not identity, allowing the original value to be used for the signature calculation.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hello, and thanks for providing this useful package.
I'm using this package to proxy traffic for Terraform, specifically for managing AWS resources. During this process, I encountered
InvalidSignatureExceptionerrors on certain AWS API requests. After investigating, I found that the issue was due to the package rewriting theAccept-Encodingheader togzip.These specific requests include the
Accept-Encodingheader in their AWS Signature Version 4 calculation. The original header value wasidentity, which is a valid value for requesting no compression. Sinceidentityisn't an unsupported encoding, I've updated the code to preserve it instead of rewriting it.The change allows requests with an
Accept-Encodingheader ofidentityto pass through, resolving the signature mismatch and the resultingInvalidSignatureException.https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Accept-Encoding
Example Error Message
Example Authorization Header
Thanks again. Please feel free to merge this when you have a moment.