Skip to content

Commit eff7437

Browse files
authored
Fix the HttpSigner trait args (#2558)
This trait should have been taking a `PropertyBag` that originates from `HttpAuthOption` rather than the `ConfigBag`.
1 parent 1a7a495 commit eff7437

File tree

4 files changed

+12
-16
lines changed

4 files changed

+12
-16
lines changed

aws/rust-runtime/aws-runtime/src/auth.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ pub mod sigv4 {
1111
SignableRequest, SignatureLocation, SigningParams, SigningSettings,
1212
UriPathNormalizationMode,
1313
};
14+
use aws_smithy_http::property_bag::PropertyBag;
1415
use aws_smithy_runtime_api::client::identity::Identity;
1516
use aws_smithy_runtime_api::client::orchestrator::{
1617
BoxError, HttpAuthScheme, HttpRequest, HttpRequestSigner, IdentityResolver,
1718
IdentityResolvers,
1819
};
19-
use aws_smithy_runtime_api::config_bag::ConfigBag;
2020
use aws_types::region::SigningRegion;
2121
use aws_types::SigningService;
2222
use std::time::{Duration, SystemTime};
@@ -197,9 +197,9 @@ pub mod sigv4 {
197197
&self,
198198
request: &mut HttpRequest,
199199
identity: &Identity,
200-
cfg: &ConfigBag,
200+
signing_properties: &PropertyBag,
201201
) -> Result<(), BoxError> {
202-
let operation_config = cfg
202+
let operation_config = signing_properties
203203
.get::<SigV4OperationSigningConfig>()
204204
.ok_or("missing operation signing config for SigV4")?;
205205

aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/SigV4AuthDecorator.kt

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -119,16 +119,6 @@ private class AuthOperationRuntimePluginCustomization(private val codegenContext
119119
is OperationRuntimePluginSection.AdditionalConfig -> {
120120
val authSchemes = serviceIndex.getEffectiveAuthSchemes(codegenContext.serviceShape, section.operationShape)
121121
if (authSchemes.containsKey(SigV4Trait.ID)) {
122-
rustTemplate(
123-
"""
124-
let auth_option_resolver = #{AuthOptionListResolver}::new(
125-
vec![#{HttpAuthOption}::new(#{SIGV4_SCHEME_ID}, std::sync::Arc::new(#{PropertyBag}::new()))]
126-
);
127-
${section.configBagName}.set_auth_option_resolver(auth_option_resolver);
128-
""",
129-
*codegenScope,
130-
)
131-
132122
val unsignedPayload = section.operationShape.hasTrait<UnsignedPayloadTrait>()
133123
val doubleUriEncode = unsignedPayload || !disableDoubleEncode(codegenContext.serviceShape)
134124
val contentSha256Header = needsAmzSha256(codegenContext.serviceShape)
@@ -144,11 +134,17 @@ private class AuthOperationRuntimePluginCustomization(private val codegenContext
144134
signing_options.normalize_uri_path = $normalizeUrlPath;
145135
signing_options.signing_optional = $signingOptional;
146136
signing_options.payload_override = #{payload_override};
147-
${section.configBagName}.put(#{SigV4OperationSigningConfig} {
137+
138+
let mut sigv4_properties = #{PropertyBag}::new();
139+
sigv4_properties.insert(#{SigV4OperationSigningConfig} {
148140
region: signing_region,
149141
service: signing_service,
150142
signing_options,
151143
});
144+
let auth_option_resolver = #{AuthOptionListResolver}::new(
145+
vec![#{HttpAuthOption}::new(#{SIGV4_SCHEME_ID}, std::sync::Arc::new(sigv4_properties))]
146+
);
147+
${section.configBagName}.set_auth_option_resolver(auth_option_resolver);
152148
""",
153149
*codegenScope,
154150
"payload_override" to writable {

rust-runtime/aws-smithy-runtime-api/src/client/orchestrator.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ pub trait HttpRequestSigner: Send + Sync + Debug {
174174
&self,
175175
request: &mut HttpRequest,
176176
identity: &Identity,
177-
cfg: &ConfigBag,
177+
signing_properties: &PropertyBag,
178178
) -> Result<(), BoxError>;
179179
}
180180

rust-runtime/aws-smithy-runtime/src/client/orchestrator/auth.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ pub(super) async fn orchestrate_auth(
4444
.map_err(construction_failure)?;
4545
return dispatch_phase.include_mut(|ctx| {
4646
let request = ctx.request_mut()?;
47-
request_signer.sign_request(request, &identity, cfg)?;
47+
request_signer.sign_request(request, &identity, scheme_properties)?;
4848
Result::<_, BoxError>::Ok(())
4949
});
5050
}

0 commit comments

Comments
 (0)