rusoto
rusoto copied to clipboard
Canonization of header values does not convert all sequential spaces into one.
https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-create-signed-request.html
According to signature guide, for header values you must:
- ...
convert sequential spaces to a single space.- ...
Rusoto signature::canonical_values only replaces double spaces, but it's not recursive, causing 3+ spaces signature mismatch.
st.push_str(s.replace(" ", " ").trim());