diff --git a/CHANGELOG.next.toml b/CHANGELOG.next.toml index eff610036edc855ff10f32dc58c4e5c135ebd757..71743b31a133f7f48cf0ff6b6edc74c542f9d6bb 100644 --- a/CHANGELOG.next.toml +++ b/CHANGELOG.next.toml @@ -22,3 +22,15 @@ message = "The outputs for event stream operations now implement the `Sync` auto references = ["smithy-rs#2496"] meta = { "breaking" = false, "tada" = false, "bug" = true, "target" = "all"} author = "jdisanti" + +[[aws-sdk-rust]] +message = "Streaming operations now emit the request ID at the `debug` log level like their non-streaming counterparts." +references = ["smithy-rs#2495"] +meta = { "breaking" = false, "tada" = false, "bug" = true } +author = "jdisanti" + +[[smithy-rs]] +message = "Streaming operations now emit the request ID at the `debug` log level like their non-streaming counterparts." +references = ["smithy-rs#2495"] +meta = { "breaking" = false, "tada" = false, "bug" = true, "target" = "client"} +author = "jdisanti" \ No newline at end of file diff --git a/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/protocols/HttpBoundProtocolGenerator.kt b/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/protocols/HttpBoundProtocolGenerator.kt index a8ea456cff4461bddb3c17051349d363fcde7988..6a5aeaff80ec15a5f1dcdafc1571b7005a8d0ebc 100644 --- a/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/protocols/HttpBoundProtocolGenerator.kt +++ b/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/protocols/HttpBoundProtocolGenerator.kt @@ -145,6 +145,7 @@ class HttpBoundProtocolTraitImplGenerator( impl #{ParseResponse} for $operationName { type Output = std::result::Result<#{O}, #{E}>; fn parse_unloaded(&self, response: &mut #{operation}::Response) -> Option { + #{BeforeParseResponse} // This is an error, defer to the non-streaming parser if !response.http().status().is_success() && response.http().status().as_u16() != $successCode { return None; @@ -161,6 +162,9 @@ class HttpBoundProtocolTraitImplGenerator( "E" to symbolProvider.symbolForOperationError(operationShape), "parse_streaming_response" to parseStreamingResponse(operationShape, customizations), "parse_error" to parseError(operationShape, customizations), + "BeforeParseResponse" to writable { + writeCustomizations(customizations, OperationSection.BeforeParseResponse(customizations, "response")) + }, *codegenScope, ) }