Releases: badslug/Paw-AWSSignature4DynamicValue
Host override and X-Amz-Content-Sha256 support
This release supports adding a Host
header to a request in order to override the normal behavior of the extension which extracts the host from the request URI. This allows requests to tunnel through proxies while still using the correct endpoint host for calculating the AWS signature.
The release also adds support for optionally (via an extension setting) using the X-Amz-Content-Sha256
to have a header provide the digest of the request contents rather than have the extension calculate the value based on the body contents. This allows requests that contains binary data to properly include content hashes as the extension only sees body content as strings.
Encode URI paths
Specific support for @connections
when interacting with websockets support in the API Gateway service. However this should fix some edge cases for other AWS APIs. One caveat is that the URI encoding is different for different services (and the docs aren't super clear on what services use which encoding). The change has been tested with the execute-api
and s3
service but other services may need to have the encoding rules in the extension tweaked.
Encode commas in path
For paths with commas, encodes according to AWS conventions.
Sort canonical headers
For better support of AWS APIs that include additional canonical headers, we need to sort the headers before hashing. Thanks to @thefloweringash for the PR.
Bug fixes
Bug fixes
Bug fixes
Bug Fixes
Two bug fixes to improve AWS API compatibility.
Special thanks to @moduspwnens for a PR to fix a double encoding issue with the S3 API.
Bug fixes
Bug fixes
Remove form encoded bodies from signature. Thanks to troubleshooting by @adphillips!