Skip to content

Commit 0dd8c14

Browse files
authored
Pass logger and filters to HandlerExecutionContext (#207)
1 parent de06365 commit 0dd8c14

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/CommandGenerator.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import software.amazon.smithy.model.traits.StreamingTrait;
3131
import software.amazon.smithy.typescript.codegen.integration.ProtocolGenerator;
3232
import software.amazon.smithy.typescript.codegen.integration.RuntimeClientPlugin;
33+
import software.amazon.smithy.utils.OptionalUtils;
3334

3435
/**
3536
* Generates a client command using plugins.
@@ -151,8 +152,19 @@ private void generateCommandMiddlewareResolver(String configType) {
151152

152153
// Resolve the middleware stack.
153154
writer.write("\nconst stack = clientStack.concat(this.middlewareStack);\n");
155+
writer.write("const { logger } = configuration;");
154156
writer.openBlock("const handlerExecutionContext: HandlerExecutionContext = {", "}", () -> {
155-
writer.write("logger: {} as any,");
157+
writer.write("logger,");
158+
writer.openBlock("inputFilterSensitiveLog: ", ",", () -> {
159+
OptionalUtils.ifPresentOrElse(operationIndex.getInput(operation),
160+
input -> writer.writeInline("$T.filterSensitiveLog", symbolProvider.toSymbol(input)),
161+
() -> writer.writeInline("(input: any) => input"));
162+
});
163+
writer.openBlock("outputFilterSensitiveLog: ", ",", () -> {
164+
OptionalUtils.ifPresentOrElse(operationIndex.getOutput(operation),
165+
output -> writer.writeInline("$T.filterSensitiveLog", symbolProvider.toSymbol(output)),
166+
() -> writer.writeInline("(output: any) => output"));
167+
});
156168
});
157169
writer.write("const { requestHandler } = configuration;");
158170
writer.openBlock("return stack.resolve(", ");", () -> {

0 commit comments

Comments
 (0)