|
30 | 30 | import software.amazon.smithy.model.traits.StreamingTrait;
|
31 | 31 | import software.amazon.smithy.typescript.codegen.integration.ProtocolGenerator;
|
32 | 32 | import software.amazon.smithy.typescript.codegen.integration.RuntimeClientPlugin;
|
| 33 | +import software.amazon.smithy.utils.OptionalUtils; |
33 | 34 |
|
34 | 35 | /**
|
35 | 36 | * Generates a client command using plugins.
|
@@ -151,8 +152,19 @@ private void generateCommandMiddlewareResolver(String configType) {
|
151 | 152 |
|
152 | 153 | // Resolve the middleware stack.
|
153 | 154 | writer.write("\nconst stack = clientStack.concat(this.middlewareStack);\n");
|
| 155 | + writer.write("const { logger } = configuration;"); |
154 | 156 | 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 | + }); |
156 | 168 | });
|
157 | 169 | writer.write("const { requestHandler } = configuration;");
|
158 | 170 | writer.openBlock("return stack.resolve(", ");", () -> {
|
|
0 commit comments