From 40e0b96f3932c0ff3f895a1d6d0098c69f8359d2 Mon Sep 17 00:00:00 2001 From: Gabe Yuan Date: Thu, 28 Sep 2023 16:18:28 +0800 Subject: [PATCH] fix GM.xmlHttpRequest response --- src/libs/fetch.js | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/libs/fetch.js b/src/libs/fetch.js index b41b110..ff3b21e 100644 --- a/src/libs/fetch.js +++ b/src/libs/fetch.js @@ -28,19 +28,21 @@ export const fetchGM = async (input, { method = "GET", headers, body } = {}) => url: input, headers, data: body, - onload: (response) => { - if (response.status < 300) { - const headers = new Headers(); - response.responseHeaders.split("\n").forEach((line) => { - const [name, value] = line.split(":").map((item) => item.trim()); - if (name && value) { - headers.append(name, value); - } - }); - resolve(new Response(response.response, { headers })); - } else { - reject(new Error(`[${response.status}] ${response.responseText}`)); - } + onload: ({ response, responseHeaders, status, statusText }) => { + const headers = new Headers(); + responseHeaders.split("\n").forEach((line) => { + const [name, value] = line.split(":").map((item) => item.trim()); + if (name && value) { + headers.append(name, value); + } + }); + resolve( + new Response(response, { + headers, + status, + statusText, + }) + ); }, onerror: reject, });