You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix response payload and incorrectly parsing error response (#63)
* fix when response payload is not structured string
* add support for parsing body in either dispatcher or deser
For some protocols, error type flag exists in error response body,
then we need to collect response stream to JS object and parse the
error type; For other protocols, error type flag doesn't exist in
error response body, then we don't need to collect the response
stream in error dispatcher. Instead, we can treat the error like
normal response. So that error shape supports the same traits as
normal responses like streaming, payload etc.
This is done by add a new flag in Protocol generator--
isErrorCodeInBody. When it return true, it means error type flag
exists in error response body, then body is parsed in errors
dispatcher, and each error deser only need to deal with parsed
response body in JS object format. When it returns false, it means
error type can be inferred without touching response body, then
error deser can access the error response intact.
* address feedbacks: fix indentation; readResponseBody; add docs
* add response body string to unknown error message
If incoming error response is unknow error, we only make best effort
to infer the error type. This change puts error response body to error
message so that users have the information they need. This change is
necessary for Node because when error response is unknown, the body
stream will never be consumed, which would use a lot of resources
before stream is flushed.
Copy file name to clipboardExpand all lines: smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/integration/HttpBindingProtocolGenerator.java
+56-25Lines changed: 56 additions & 25 deletions
Original file line number
Diff line number
Diff line change
@@ -119,6 +119,8 @@ public void generateSharedComponents(GenerationContext context) {
Copy file name to clipboardExpand all lines: smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/integration/HttpProtocolGeneratorUtils.java
Copy file name to clipboardExpand all lines: smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/integration/HttpRpcProtocolGenerator.java
0 commit comments