Adds a new middleware when sigv4 is present that conditionally enables setting the SignedBodyHeader execution context attribute when the operation has the unsigned payload trait or is an event stream input. When set the signer will add the x-amz-content-sha256 header to the canonical request and set the header.
Adds the shouldSignHeader predicate to the AwsHttpSigner.Config. This was missing and allows auth scheme overrides to augment the set of signed headers. This allowed me to narrow down the issue since we include a few more headers than AWS CLI did. This should have been possible previously and I was surprised it wasn't.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Issue \
fixes https://github.com/awslabs/aws-sdk-kotlin/issues/1029
Description of changes
SignedBodyHeader
execution context attribute when the operation has the unsigned payload trait or is an event stream input. When set the signer will add thex-amz-content-sha256
header to the canonical request and set the header.shouldSignHeader
predicate to theAwsHttpSigner.Config
. This was missing and allows auth scheme overrides to augment the set of signed headers. This allowed me to narrow down the issue since we include a few more headers than AWS CLI did. This should have been possible previously and I was surprised it wasn't.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.