Skip to content

Commit 3febea0

Browse files
committed
fix(middleware-serde): handle unwritable error message
1 parent fbe3c04 commit 3febea0

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

.changeset/brave-trees-fry.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@smithy/middleware-serde": patch
3+
---
4+
5+
handle unwritable error.message field

packages/middleware-serde/src/deserializerMiddleware.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,12 @@ export const deserializerMiddleware =
4141
if (!("$metadata" in error)) {
4242
// only apply this to non-ServiceException.
4343
const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;
44-
error.message += "\n " + hint;
44+
try {
45+
error.message += "\n " + hint;
46+
} catch (e) {
47+
// Error with an unwritable message (strict mode getter with no setter).
48+
console.warn(hint);
49+
}
4550

4651
if (typeof error.$responseBodyText !== "undefined") {
4752
// if $responseBodyText was collected by the error parser, assign it to

0 commit comments

Comments
 (0)