//
// SPDX-License-Identifier: AGPL-3.0
+import { customEncodeURI } from "./url";
+
export class WebDAV {
defaults: WebDAVDefaults = {
r.open(config.method,
`${this.defaults.baseURL
? this.defaults.baseURL+'/'
- : ''}${encodeURIComponent(config.url)}`);
+ : ''}${customEncodeURI(config.url)}`);
+
+ if (config.headers && config.headers.Destination) {
+ const regexp = /(http[s]?:\/\/)?([^\/\s]+\/)(.*)/;
+ const match = decodeURIComponent(config.headers.Destination).match(regexp) || {};
+ config.headers.Destination = `${match[1]}${match[2]}${customEncodeURI(match[3])}`;
+ }
+
const headers = { ...this.defaults.headers, ...config.headers };
Object
.keys(headers)