Skip to content

Commit c72c566

Browse files
chore: update rest-json abstract methods
1 parent 052a9ad commit c72c566

File tree

2 files changed

+31
-25
lines changed

2 files changed

+31
-25
lines changed

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AwsRestXml.java

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -136,16 +136,19 @@ private boolean usesWrappedErrorResponse(GenerationContext context) {
136136
}
137137

138138
@Override
139-
protected void writeDefaultHeaders(GenerationContext context, OperationShape operation) {
140-
super.writeDefaultHeaders(context, operation);
141-
AwsProtocolUtils.generateUnsignedPayloadSigV4Header(context, operation);
139+
protected void writeDefaultHeaders(GenerationContext context, Shape operationOrError, boolean isInput) {
140+
super.writeDefaultHeaders(context, operationOrError, isInput);
141+
if (isInput && operationOrError.isOperationShape()) {
142+
AwsProtocolUtils.generateUnsignedPayloadSigV4Header(context, operationOrError.asOperationShape().get());
143+
}
142144
}
143145

144146
@Override
145-
protected void serializeInputDocument(
147+
protected void serializeDocumentBody(
146148
GenerationContext context,
147149
OperationShape operation,
148-
List<HttpBinding> documentBindings
150+
List<HttpBinding> documentBindings,
151+
boolean isInput
149152
) {
150153
// Short circuit when we have no bindings.
151154
TypeScriptWriter writer = context.getWriter();
@@ -193,10 +196,11 @@ protected void serializeInputDocument(
193196
}
194197

195198
@Override
196-
protected void serializeInputPayload(
199+
protected void serializePayload(
197200
GenerationContext context,
198201
OperationShape operation,
199-
HttpBinding payloadBinding
202+
HttpBinding payloadBinding,
203+
boolean isInput
200204
) {
201205
SymbolProvider symbolProvider = context.getSymbolProvider();
202206
TypeScriptWriter writer = context.getWriter();
@@ -244,10 +248,11 @@ protected void writeErrorCodeParser(GenerationContext context) {
244248
}
245249

246250
@Override
247-
protected void deserializeOutputDocument(
251+
protected void deserializeDocumentBody(
248252
GenerationContext context,
249253
Shape operationOrError,
250-
List<HttpBinding> documentBindings
254+
List<HttpBinding> documentBindings,
255+
boolean isInput
251256
) {
252257
SymbolProvider symbolProvider = context.getSymbolProvider();
253258
XmlShapeDeserVisitor shapeVisitor = new XmlShapeDeserVisitor(context);

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/RestJsonProtocolGenerator.java

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -85,22 +85,21 @@ public void generateSharedComponents(GenerationContext context) {
8585
}
8686

8787
@Override
88-
protected void writeDefaultHeaders(GenerationContext context, OperationShape operation) {
89-
super.writeDefaultHeaders(context, operation);
90-
AwsProtocolUtils.generateUnsignedPayloadSigV4Header(context, operation);
91-
}
92-
93-
@Override
94-
protected void writeDefaultErrorHeaders(GenerationContext context, StructureShape error) {
95-
super.writeDefaultErrorHeaders(context, error);
96-
context.getWriter().write("'x-amzn-errortype': $S,", error.getId().getName());
88+
protected void writeDefaultHeaders(GenerationContext context, Shape operationOrError, boolean isInput) {
89+
super.writeDefaultHeaders(context, operationOrError, isInput);
90+
if (isInput && operationOrError.isOperationShape()) {
91+
AwsProtocolUtils.generateUnsignedPayloadSigV4Header(context, operationOrError.asOperationShape().get());
92+
} else if (operationOrError.isStructureShape()) {
93+
context.getWriter().write("'x-amzn-errortype': $S,", operationOrError.getId().getName());
94+
}
9795
}
9896

9997
@Override
100-
public void serializeInputDocument(
98+
public void serializeDocumentBody(
10199
GenerationContext context,
102100
OperationShape operation,
103-
List<HttpBinding> documentBindings
101+
List<HttpBinding> documentBindings,
102+
boolean isInput
104103
) {
105104
// Short circuit when we have no bindings.
106105
TypeScriptWriter writer = context.getWriter();
@@ -140,13 +139,14 @@ public void serializeInputDocument(
140139
}
141140

142141
@Override
143-
protected void serializeInputPayload(
142+
protected void serializePayload(
144143
GenerationContext context,
145144
OperationShape operation,
146-
HttpBinding payloadBinding
145+
HttpBinding payloadBinding,
146+
boolean isInput
147147
) {
148148
// We want the standard serialization, but need to alter it to JSON.
149-
super.serializeInputPayload(context, operation, payloadBinding);
149+
super.serializePayload(context, operation, payloadBinding, isInput);
150150

151151
TypeScriptWriter writer = context.getWriter();
152152
MemberShape payloadMember = payloadBinding.getMember();
@@ -179,10 +179,11 @@ protected void writeErrorCodeParser(GenerationContext context) {
179179
}
180180

181181
@Override
182-
public void deserializeOutputDocument(
182+
public void deserializeDocumentBody(
183183
GenerationContext context,
184184
Shape operationOrError,
185-
List<HttpBinding> documentBindings
185+
List<HttpBinding> documentBindings,
186+
boolean isInput
186187
) {
187188
TypeScriptWriter writer = context.getWriter();
188189
SymbolProvider symbolProvider = context.getSymbolProvider();

0 commit comments

Comments
 (0)