From 140d2b4ee392a60129f7fb238c293fb32d25306c Mon Sep 17 00:00:00 2001 From: Piotr Frankowski Date: Thu, 8 Dec 2022 00:02:34 +0100 Subject: [PATCH 1/2] add support for text in response --- packages/superagent-wrapper/src/request.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/superagent-wrapper/src/request.ts b/packages/superagent-wrapper/src/request.ts index 9564bd3c..c86bfdd7 100644 --- a/packages/superagent-wrapper/src/request.ts +++ b/packages/superagent-wrapper/src/request.ts @@ -53,6 +53,7 @@ type SuperagentLike = { export type Response = { body: unknown; + text: unknown; status: number; }; @@ -126,23 +127,24 @@ const patchRequest = < patchedReq.decode = () => req.then((res) => { - const { body, status } = res; + const { body, text, status } = res; + const bodyOrText = body || text; if (!hasCodecForStatus(route.response, status)) { return decodedResponse({ // DISCUSS: what's this non-standard HTTP status code? status: 'decodeError', error: `No codec for status ${status}`, - body, + body: bodyOrText, original: res, }); } return pipe( - route.response[status].decode(res.body), + route.response[status].decode(bodyOrText), E.map((body) => decodedResponse({ status, - body, + body: bodyOrText, original: res, } as SuccessfulResponses), ), @@ -151,7 +153,7 @@ const patchRequest = < decodedResponse({ status: 'decodeError', error: PathReporter.failure(error).join('\n'), - body: res.body, + body: bodyOrText, original: res, }), ), From f626d917792b9da2236ab96f7bc926ba216193ec Mon Sep 17 00:00:00 2001 From: Eric Crosson Date: Fri, 18 Jul 2025 13:51:17 -0500 Subject: [PATCH 2/2] fix: use decoded body (or text) in response This avoids a failure mode where the decode transforms the decoded value, which is then dropped. --- packages/superagent-wrapper/src/request.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/superagent-wrapper/src/request.ts b/packages/superagent-wrapper/src/request.ts index c86bfdd7..10e69fd1 100644 --- a/packages/superagent-wrapper/src/request.ts +++ b/packages/superagent-wrapper/src/request.ts @@ -144,7 +144,7 @@ const patchRequest = < E.map((body) => decodedResponse({ status, - body: bodyOrText, + body, original: res, } as SuccessfulResponses), ),