Loading codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerHttpSensitivityGenerator.kt +43 −44 Original line number Diff line number Diff line Loading @@ -30,7 +30,6 @@ import software.amazon.smithy.rust.codegen.rustlang.rustBlock import software.amazon.smithy.rust.codegen.rustlang.rustBlockTemplate import software.amazon.smithy.rust.codegen.rustlang.rustTemplate import software.amazon.smithy.rust.codegen.rustlang.withBlock import software.amazon.smithy.rust.codegen.rustlang.withBlockTemplate import software.amazon.smithy.rust.codegen.server.smithy.ServerCargoDependency import software.amazon.smithy.rust.codegen.smithy.RuntimeConfig import software.amazon.smithy.rust.codegen.util.dq Loading Loading @@ -355,15 +354,16 @@ class ServerHttpSensitivityGenerator( } fun renderRequestFmt(writer: RustWriter) { writer.withBlockTemplate("#{SmithyHttpServer}::logging::sensitivity::RequestFmt::new()", ";", *codegenScope) { writer.rustTemplate("#{SmithyHttpServer}::logging::sensitivity::RequestFmt::new()", *codegenScope) // Sensitivity only applies when http trait is applied to the operation val httpTrait = operation.getTrait<HttpTrait>() ?: return@withBlockTemplate val inputShape = input() ?: return@withBlockTemplate val httpTrait = operation.getTrait<HttpTrait>() ?: return val inputShape = input() ?: return // httpHeader/httpPrefixHeaders bindings val headerSensitivity = findHeaderSensitivity(inputShape) if (headerSensitivity.hasRedactions()) { withBlock(".header(", ")") { writer.withBlock(".header(", ")") { renderHeaderClosure(writer, headerSensitivity) } } Loading @@ -372,36 +372,36 @@ class ServerHttpSensitivityGenerator( when (val label = findLabel(httpTrait.uri, inputShape)) { is LabelSensitivity.Normal -> { if (label.indexes.isNotEmpty()) { withBlock(".label(", ")") { writer.withBlock(".label(", ")") { renderLabelClosure(writer, label.indexes) } } } is LabelSensitivity.Greedy -> { rust(".greedy_label(${label.suffixPosition})") writer.rust(".greedy_label(${label.suffixPosition})") } } // httpQuery/httpQueryParams bindings val querySensitivity = findQuerySensitivity(inputShape) if (querySensitivity.hasRedactions()) { withBlock(".query(", ")") { writer.withBlock(".query(", ")") { renderQueryClosure(writer, querySensitivity) } } } } fun renderResponseFmt(writer: RustWriter) { writer.withBlockTemplate("#{SmithyHttpServer}::logging::sensitivity::ResponseFmt::new()", ";", *codegenScope) { writer.rustTemplate("#{SmithyHttpServer}::logging::sensitivity::ResponseFmt::new()", *codegenScope) // Sensitivity only applies when HTTP trait is applied to the operation operation.getTrait<HttpTrait>() ?: return@withBlockTemplate val outputShape = output() ?: return@withBlockTemplate operation.getTrait<HttpTrait>() ?: return val outputShape = output() ?: return // httpHeader/httpPrefixHeaders bindings val headerSensitivity = findHeaderSensitivity(outputShape) if (headerSensitivity.hasRedactions()) { withBlock(".header(", ")") { writer.withBlock(".header(", ")") { renderHeaderClosure(writer, headerSensitivity) } } Loading @@ -409,8 +409,7 @@ class ServerHttpSensitivityGenerator( // Status code bindings val hasResponseStatusCode = findSensitiveBoundTrait<HttpResponseCodeTrait>(outputShape).isNotEmpty() if (hasResponseStatusCode) { rust(".status_code()") } writer.rust(".status_code()") } } } Loading
codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerHttpSensitivityGenerator.kt +43 −44 Original line number Diff line number Diff line Loading @@ -30,7 +30,6 @@ import software.amazon.smithy.rust.codegen.rustlang.rustBlock import software.amazon.smithy.rust.codegen.rustlang.rustBlockTemplate import software.amazon.smithy.rust.codegen.rustlang.rustTemplate import software.amazon.smithy.rust.codegen.rustlang.withBlock import software.amazon.smithy.rust.codegen.rustlang.withBlockTemplate import software.amazon.smithy.rust.codegen.server.smithy.ServerCargoDependency import software.amazon.smithy.rust.codegen.smithy.RuntimeConfig import software.amazon.smithy.rust.codegen.util.dq Loading Loading @@ -355,15 +354,16 @@ class ServerHttpSensitivityGenerator( } fun renderRequestFmt(writer: RustWriter) { writer.withBlockTemplate("#{SmithyHttpServer}::logging::sensitivity::RequestFmt::new()", ";", *codegenScope) { writer.rustTemplate("#{SmithyHttpServer}::logging::sensitivity::RequestFmt::new()", *codegenScope) // Sensitivity only applies when http trait is applied to the operation val httpTrait = operation.getTrait<HttpTrait>() ?: return@withBlockTemplate val inputShape = input() ?: return@withBlockTemplate val httpTrait = operation.getTrait<HttpTrait>() ?: return val inputShape = input() ?: return // httpHeader/httpPrefixHeaders bindings val headerSensitivity = findHeaderSensitivity(inputShape) if (headerSensitivity.hasRedactions()) { withBlock(".header(", ")") { writer.withBlock(".header(", ")") { renderHeaderClosure(writer, headerSensitivity) } } Loading @@ -372,36 +372,36 @@ class ServerHttpSensitivityGenerator( when (val label = findLabel(httpTrait.uri, inputShape)) { is LabelSensitivity.Normal -> { if (label.indexes.isNotEmpty()) { withBlock(".label(", ")") { writer.withBlock(".label(", ")") { renderLabelClosure(writer, label.indexes) } } } is LabelSensitivity.Greedy -> { rust(".greedy_label(${label.suffixPosition})") writer.rust(".greedy_label(${label.suffixPosition})") } } // httpQuery/httpQueryParams bindings val querySensitivity = findQuerySensitivity(inputShape) if (querySensitivity.hasRedactions()) { withBlock(".query(", ")") { writer.withBlock(".query(", ")") { renderQueryClosure(writer, querySensitivity) } } } } fun renderResponseFmt(writer: RustWriter) { writer.withBlockTemplate("#{SmithyHttpServer}::logging::sensitivity::ResponseFmt::new()", ";", *codegenScope) { writer.rustTemplate("#{SmithyHttpServer}::logging::sensitivity::ResponseFmt::new()", *codegenScope) // Sensitivity only applies when HTTP trait is applied to the operation operation.getTrait<HttpTrait>() ?: return@withBlockTemplate val outputShape = output() ?: return@withBlockTemplate operation.getTrait<HttpTrait>() ?: return val outputShape = output() ?: return // httpHeader/httpPrefixHeaders bindings val headerSensitivity = findHeaderSensitivity(outputShape) if (headerSensitivity.hasRedactions()) { withBlock(".header(", ")") { writer.withBlock(".header(", ")") { renderHeaderClosure(writer, headerSensitivity) } } Loading @@ -409,8 +409,7 @@ class ServerHttpSensitivityGenerator( // Status code bindings val hasResponseStatusCode = findSensitiveBoundTrait<HttpResponseCodeTrait>(outputShape).isNotEmpty() if (hasResponseStatusCode) { rust(".status_code()") } writer.rust(".status_code()") } } }