feat: fix webdav 逻辑
This commit is contained in:
parent
79f342439a
commit
ee15c14049
|
@ -42,7 +42,7 @@ async function handle(
|
||||||
}
|
}
|
||||||
|
|
||||||
const endpointPath = params.path.join("/");
|
const endpointPath = params.path.join("/");
|
||||||
const targetPath = `${endpoint}/${endpointPath}`;
|
const targetPath = `${endpoint}${endpointPath}`;
|
||||||
|
|
||||||
// only allow MKCOL, GET, PUT
|
// only allow MKCOL, GET, PUT
|
||||||
if (req.method !== "MKCOL" && req.method !== "GET" && req.method !== "PUT") {
|
if (req.method !== "MKCOL" && req.method !== "GET" && req.method !== "PUT") {
|
||||||
|
@ -96,7 +96,7 @@ async function handle(
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const targetUrl = `${endpoint}/${endpointPath}`;
|
const targetUrl = targetPath;
|
||||||
|
|
||||||
const method = req.method;
|
const method = req.method;
|
||||||
const shouldNotHaveBody = ["get", "head"].includes(
|
const shouldNotHaveBody = ["get", "head"].includes(
|
||||||
|
@ -114,13 +114,22 @@ async function handle(
|
||||||
duplex: "half",
|
duplex: "half",
|
||||||
};
|
};
|
||||||
|
|
||||||
const fetchResult = await fetch(targetUrl, fetchOptions);
|
|
||||||
|
|
||||||
console.log("[Any Proxy]", targetUrl, {
|
console.log("[Any Proxy]", targetUrl, {
|
||||||
status: fetchResult.status,
|
method: req.method,
|
||||||
statusText: fetchResult.statusText,
|
params: req.body,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let fetchResult;
|
||||||
|
|
||||||
|
try {
|
||||||
|
fetchResult = await fetch(targetUrl, fetchOptions);
|
||||||
|
} finally {
|
||||||
|
console.log("[Any Proxy]", targetUrl, {
|
||||||
|
status: fetchResult?.status,
|
||||||
|
statusText: fetchResult?.statusText,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
return fetchResult;
|
return fetchResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -104,6 +104,7 @@ export const useSyncStore = createPersistStore(
|
||||||
setLocalAppState(localState);
|
setLocalAppState(localState);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log("[Sync] failed to get remote state", e);
|
console.log("[Sync] failed to get remote state", e);
|
||||||
|
throw e;
|
||||||
}
|
}
|
||||||
|
|
||||||
await client.set(config.username, JSON.stringify(localState));
|
await client.set(config.username, JSON.stringify(localState));
|
||||||
|
|
|
@ -76,7 +76,7 @@ export function createWebDavClient(store: SyncStore) {
|
||||||
|
|
||||||
let url;
|
let url;
|
||||||
if (proxyUrl.length > 0 || proxyUrl === "/") {
|
if (proxyUrl.length > 0 || proxyUrl === "/") {
|
||||||
let u = new URL(proxyUrl + "/api/webdav/" + path);
|
let u = new URL(proxyUrl + "api/webdav/" + path);
|
||||||
// add query params
|
// add query params
|
||||||
u.searchParams.append("endpoint", config.endpoint);
|
u.searchParams.append("endpoint", config.endpoint);
|
||||||
url = u.toString();
|
url = u.toString();
|
||||||
|
|
Loading…
Reference in New Issue