Skip to content

Commit

Permalink
[fix] Text response type of XHR mode
Browse files Browse the repository at this point in the history
  • Loading branch information
TechQuery committed Sep 5, 2024
1 parent 91c979b commit 53ea34d
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 52 deletions.
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "koajax",
"version": "3.0.1",
"version": "3.0.2",
"license": "LGPL-3.0",
"author": "shiy2008@gmail.com",
"description": "HTTP Client based on Koa-like middlewares",
Expand Down Expand Up @@ -40,7 +40,7 @@
"@types/core-js": "^2.5.8",
"@types/jest": "^29.5.12",
"@types/jsdom": "^21.1.7",
"@types/node": "^20.16.3",
"@types/node": "^20.16.5",
"cross-env": "^7.0.3",
"husky": "^9.1.5",
"jest": "^29.7.0",
Expand Down
90 changes: 45 additions & 45 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 8 additions & 5 deletions source/HTTPRequest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -115,15 +115,18 @@ export function requestXHR<B>({

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

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

resolve({
status: request.status,
statusText: request.statusText,
status,
statusText,
headers: parseHeaders(request.getAllResponseHeaders()),
body: request.response || request.responseText
body:
responseType && responseType !== 'text'
? request.response
: request.responseText
});
};
request.onerror = request.ontimeout = reject;
Expand Down

0 comments on commit 53ea34d

Please sign in to comment.