17337: Added more tests to cover edge cases
[arvados-workbench2.git] / src / common / webdav.ts
index 8d071fa635ce2f0dc58085e447f981191d96e8a7..0b77f8c33262e9b7b0b284b4da682d6ec58ceb85 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-import { customEncodeURI, encodeHash } from "./url";
+import { customEncodeURI } from "./url";
 
 export class WebDAV {
 
@@ -80,7 +80,9 @@ export class WebDAV {
                     : ''}${customEncodeURI(config.url)}`);
 
             if (config.headers && config.headers.Destination) {
-                config.headers.Destination = encodeHash(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 };