Loading codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/protocols/ServerHttpProtocolGenerator.kt +8 −8 Original line number Diff line number Diff line Loading @@ -33,13 +33,13 @@ import software.amazon.smithy.rust.codegen.rustlang.withBlock import software.amazon.smithy.rust.codegen.rustlang.writable import software.amazon.smithy.rust.codegen.server.smithy.ServerCargoDependency import software.amazon.smithy.rust.codegen.server.smithy.ServerRuntimeType import software.amazon.smithy.rust.codegen.server.smithy.generators.http.ServerRequestBindingGenerator import software.amazon.smithy.rust.codegen.smithy.CodegenContext import software.amazon.smithy.rust.codegen.smithy.RuntimeConfig import software.amazon.smithy.rust.codegen.smithy.RuntimeType import software.amazon.smithy.rust.codegen.smithy.generators.StructureGenerator import software.amazon.smithy.rust.codegen.smithy.generators.builderSymbol import software.amazon.smithy.rust.codegen.smithy.generators.error.errorSymbol import software.amazon.smithy.rust.codegen.server.smithy.generators.http.ServerRequestBindingGenerator import software.amazon.smithy.rust.codegen.smithy.generators.protocol.MakeOperationGenerator import software.amazon.smithy.rust.codegen.smithy.generators.protocol.ProtocolGenerator import software.amazon.smithy.rust.codegen.smithy.generators.protocol.ProtocolTraitImplGenerator Loading Loading @@ -581,7 +581,8 @@ private class ServerHttpProtocolImplGenerator( writable { rust("""todo!("streaming request bodies");""") } } else { writable { rustTemplate(""" rustTemplate( """ { let body = request.take_body().ok_or(#{SmithyHttpServer}::rejection::BodyAlreadyExtracted)?; let bytes = #{Hyper}::body::to_bytes(body).await?; Loading Loading @@ -746,7 +747,7 @@ private class ServerHttpProtocolImplGenerator( with(writer) { rustTemplate( """ let query_string = request.uri().query().ok_or(#{SmithyHttpServer}::rejection::MissingQueryString)?; let query_string = request.uri().query().unwrap_or(""); let pairs = #{SerdeUrlEncoded}::from_str::<Vec<(#{Cow}<'_, str>, #{Cow}<'_, str>)>>(query_string)?; """.trimIndent(), *codegenScope Loading Loading @@ -774,11 +775,11 @@ private class ServerHttpProtocolImplGenerator( val memberName = symbolProvider.toMemberName(it.member) rustTemplate( """ if !seen_${memberName} && k == "${it.locationName}" { if !seen_$memberName && k == "${it.locationName}" { input = input.${it.member.setterName()}( #{deserializer}(&v)? ); seen_${memberName} = true; seen_$memberName = true; } """.trimIndent(), "deserializer" to deserializer Loading Loading @@ -855,10 +856,10 @@ private class ServerHttpProtocolImplGenerator( rustTemplate( """ input = input.${it.member.setterName()}( if ${memberName}.is_empty() { if $memberName.is_empty() { None } else { Some(${memberName}) Some($memberName) } ); """.trimIndent() Loading Loading @@ -1006,5 +1007,4 @@ private class ServerHttpProtocolImplGenerator( } } } } rust-runtime/aws-smithy-http-server/src/rejection.rs +0 −8 Original line number Diff line number Diff line Loading @@ -71,13 +71,6 @@ define_rejection! { pub struct MissingXmlContentType; } define_rejection! { #[status = BAD_REQUEST] #[body = "Expected query string in URI but none found"] /// Rejection type used if the URI has no query string and we need to deserialize data from it. pub struct MissingQueryString; } define_rejection! { #[status = BAD_REQUEST] #[body = "Failed to parse request MIME type"] Loading Loading @@ -140,7 +133,6 @@ composite_rejection! { BodyAlreadyExtracted, HeadersAlreadyExtracted, ExtensionsAlreadyExtracted, MissingQueryString, } } Loading Loading
codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/protocols/ServerHttpProtocolGenerator.kt +8 −8 Original line number Diff line number Diff line Loading @@ -33,13 +33,13 @@ import software.amazon.smithy.rust.codegen.rustlang.withBlock import software.amazon.smithy.rust.codegen.rustlang.writable import software.amazon.smithy.rust.codegen.server.smithy.ServerCargoDependency import software.amazon.smithy.rust.codegen.server.smithy.ServerRuntimeType import software.amazon.smithy.rust.codegen.server.smithy.generators.http.ServerRequestBindingGenerator import software.amazon.smithy.rust.codegen.smithy.CodegenContext import software.amazon.smithy.rust.codegen.smithy.RuntimeConfig import software.amazon.smithy.rust.codegen.smithy.RuntimeType import software.amazon.smithy.rust.codegen.smithy.generators.StructureGenerator import software.amazon.smithy.rust.codegen.smithy.generators.builderSymbol import software.amazon.smithy.rust.codegen.smithy.generators.error.errorSymbol import software.amazon.smithy.rust.codegen.server.smithy.generators.http.ServerRequestBindingGenerator import software.amazon.smithy.rust.codegen.smithy.generators.protocol.MakeOperationGenerator import software.amazon.smithy.rust.codegen.smithy.generators.protocol.ProtocolGenerator import software.amazon.smithy.rust.codegen.smithy.generators.protocol.ProtocolTraitImplGenerator Loading Loading @@ -581,7 +581,8 @@ private class ServerHttpProtocolImplGenerator( writable { rust("""todo!("streaming request bodies");""") } } else { writable { rustTemplate(""" rustTemplate( """ { let body = request.take_body().ok_or(#{SmithyHttpServer}::rejection::BodyAlreadyExtracted)?; let bytes = #{Hyper}::body::to_bytes(body).await?; Loading Loading @@ -746,7 +747,7 @@ private class ServerHttpProtocolImplGenerator( with(writer) { rustTemplate( """ let query_string = request.uri().query().ok_or(#{SmithyHttpServer}::rejection::MissingQueryString)?; let query_string = request.uri().query().unwrap_or(""); let pairs = #{SerdeUrlEncoded}::from_str::<Vec<(#{Cow}<'_, str>, #{Cow}<'_, str>)>>(query_string)?; """.trimIndent(), *codegenScope Loading Loading @@ -774,11 +775,11 @@ private class ServerHttpProtocolImplGenerator( val memberName = symbolProvider.toMemberName(it.member) rustTemplate( """ if !seen_${memberName} && k == "${it.locationName}" { if !seen_$memberName && k == "${it.locationName}" { input = input.${it.member.setterName()}( #{deserializer}(&v)? ); seen_${memberName} = true; seen_$memberName = true; } """.trimIndent(), "deserializer" to deserializer Loading Loading @@ -855,10 +856,10 @@ private class ServerHttpProtocolImplGenerator( rustTemplate( """ input = input.${it.member.setterName()}( if ${memberName}.is_empty() { if $memberName.is_empty() { None } else { Some(${memberName}) Some($memberName) } ); """.trimIndent() Loading Loading @@ -1006,5 +1007,4 @@ private class ServerHttpProtocolImplGenerator( } } } }
rust-runtime/aws-smithy-http-server/src/rejection.rs +0 −8 Original line number Diff line number Diff line Loading @@ -71,13 +71,6 @@ define_rejection! { pub struct MissingXmlContentType; } define_rejection! { #[status = BAD_REQUEST] #[body = "Expected query string in URI but none found"] /// Rejection type used if the URI has no query string and we need to deserialize data from it. pub struct MissingQueryString; } define_rejection! { #[status = BAD_REQUEST] #[body = "Failed to parse request MIME type"] Loading Loading @@ -140,7 +133,6 @@ composite_rejection! { BodyAlreadyExtracted, HeadersAlreadyExtracted, ExtensionsAlreadyExtracted, MissingQueryString, } } Loading