X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/42ec7892e74f6d9d19f2f0155830565f447a861f..b6a0a363d77d17455aab16e09eeb67b9f8067843:/src/common/webdav.ts?ds=inline diff --git a/src/common/webdav.ts b/src/common/webdav.ts index 17032768..758a5e18 100644 --- a/src/common/webdav.ts +++ b/src/common/webdav.ts @@ -2,6 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0 +import { customEncodeURI } from "./url"; + export class WebDAV { defaults: WebDAVDefaults = { @@ -75,7 +77,8 @@ export class WebDAV { r.open(config.method, `${this.defaults.baseURL ? this.defaults.baseURL+'/' - : ''}${config.url}`); + : ''}${customEncodeURI(config.url)}`); + const headers = { ...this.defaults.headers, ...config.headers }; Object .keys(headers) @@ -85,14 +88,16 @@ export class WebDAV { r.upload.addEventListener('progress', config.onUploadProgress); } + // This event gets triggered on *any* server response r.addEventListener('load', () => { - if (r.status === 404) { + if (r.status >= 400) { return reject(r); } else { return resolve(r); } }); + // This event gets triggered on network errors r.addEventListener('error', () => { return reject(r); });