diff --git a/config-overrides.js b/config-overrides.js index d37f0e8..cc07671 100644 --- a/config-overrides.js +++ b/config-overrides.js @@ -102,6 +102,7 @@ const userscriptWebpack = (config, env) => { // @connect githubusercontent.com // @connect kiss-translator.rayjar.com // @connect ghproxy.com +// @connect dav.jianguoyun.com // @connect localhost:3000 // @run-at document-end // ==/UserScript== diff --git a/src/libs/fetch.js b/src/libs/fetch.js index ccddd96..09df8d9 100644 --- a/src/libs/fetch.js +++ b/src/libs/fetch.js @@ -28,7 +28,7 @@ export const fetchGM = async (input, { method = "GET", headers, body } = {}) => headers, data: body, onload: (response) => { - if (response.status === 200) { + if (response.status < 300) { const headers = new Headers(); response.responseHeaders.split("\n").forEach((line) => { const [name, value] = line.split(":").map((item) => item.trim()); @@ -66,7 +66,7 @@ const newCacheReq = async (request) => { * @param {*} param0 * @returns */ -const fetchApi = async ({ input, init = {}, translator, token }) => { +export const fetchApi = async ({ input, init = {}, translator, token }) => { if (token) { if (translator === OPT_TRANS_DEEPL) { init.headers["Authorization"] = `DeepL-Auth-Key ${token}`; // DeepL diff --git a/src/libs/sync.js b/src/libs/sync.js index 747a686..5cf59d6 100644 --- a/src/libs/sync.js +++ b/src/libs/sync.js @@ -16,7 +16,15 @@ import { } from "./storage"; import { apiSyncData } from "../apis"; import { sha256 } from "./utils"; -import { createClient } from "webdav"; +import { createClient, getPatcher } from "webdav"; +import { fetchApi } from "./fetch"; + +getPatcher().patch("request", (opts) => { + return fetchApi({ + input: opts.url, + init: { method: opts.method, headers: opts.headers, body: opts.data }, + }); +}); const syncByWebdav = async ({ key,