Skip to content

Commit 53ea34d

Browse files
committed
[fix] Text response type of XHR mode
1 parent 91c979b commit 53ea34d

File tree

3 files changed

+55
-52
lines changed

3 files changed

+55
-52
lines changed

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "koajax",
3-
"version": "3.0.1",
3+
"version": "3.0.2",
44
"license": "LGPL-3.0",
55
"author": "[email protected]",
66
"description": "HTTP Client based on Koa-like middlewares",
@@ -40,7 +40,7 @@
4040
"@types/core-js": "^2.5.8",
4141
"@types/jest": "^29.5.12",
4242
"@types/jsdom": "^21.1.7",
43-
"@types/node": "^20.16.3",
43+
"@types/node": "^20.16.5",
4444
"cross-env": "^7.0.3",
4545
"husky": "^9.1.5",
4646
"jest": "^29.7.0",

pnpm-lock.yaml

+45-45
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

source/HTTPRequest.ts

+8-5
Original file line numberDiff line numberDiff line change
@@ -115,15 +115,18 @@ export function requestXHR<B>({
115115

116116
const response = new Promise<Response<B>>((resolve, reject) => {
117117
request.onreadystatechange = () => {
118-
if (request.readyState !== 4) return;
118+
const { readyState, status, statusText, responseType } = request;
119119

120-
if (!request.status && !signal?.aborted) return;
120+
if (readyState !== 4 || (!status && !signal?.aborted)) return;
121121

122122
resolve({
123-
status: request.status,
124-
statusText: request.statusText,
123+
status,
124+
statusText,
125125
headers: parseHeaders(request.getAllResponseHeaders()),
126-
body: request.response || request.responseText
126+
body:
127+
responseType && responseType !== 'text'
128+
? request.response
129+
: request.responseText
127130
});
128131
};
129132
request.onerror = request.ontimeout = reject;

0 commit comments

Comments
 (0)