Skip to content

feat(aws): support configurable canonical URI encoding - #912

Open
unconsolable wants to merge 1 commit into
apache:mainfrom
unconsolable:feat/aws-percent-encoding-mode
Open

unconsolable wants to merge 1 commit into
apache:mainfrom
unconsolable:feat/aws-percent-encoding-mode

Conversation

@unconsolable

Copy link
Copy Markdown

Summary

  • Add PercentEncodingMode::{Single, Double} and with_percent_encoding_mode(...) to the SigV4 and SigV4a signers, covering both header signing and presigning.
  • Keep Single as the default, preserving existing behavior. Double re-encodes the original wire path without decoding it first, while preserving literal slash separators.
  • Preserve the outgoing request path and existing query bytes; presigning only appends authentication parameters.
  • Add AWS SDK signature comparisons, edge-case regression tests, and API/README documentation.

Validation

  • Passed formatting, strict workspace Clippy, workspace tests, all-feature doctests, and focused AWS tests.
  • Passed WASM checks for the affected AWS crates and the facade without default-context.

Compatibility

Single retains Reqsign’s existing per-segment decode/re-encode behavior rather than changing it to the AWS SDK’s raw-path behavior.

closes #911

Add explicit Single and Double percent-encoding modes for SigV4 and SigV4a header signing and presigning. Preserve the existing Single behavior and wire URI bytes by default.

Cover encoding semantics with fixed SDK comparisons and document explicit opt-in usage.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(aws): support configurable Single/Double URI encoding in AWS SigV4

1 participant