X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/cd89fd24a8cdf7512a4352f1fc17101b225e32c4..a54420c0b7b6566ecf9d0f04835e6d8a3ef165d9:/src/common/webdav.ts diff --git a/src/common/webdav.ts b/src/common/webdav.ts index d4f904ae..1f3da0d6 100644 --- a/src/common/webdav.ts +++ b/src/common/webdav.ts @@ -6,17 +6,29 @@ import { customEncodeURI } from "./url"; export class WebDAV { - defaults: WebDAVDefaults = { + private defaults: WebDAVDefaults = { baseURL: '', - headers: {}, + headers: { + 'Cache-Control': 'no-cache' + }, }; constructor(config?: Partial, private createRequest = () => new XMLHttpRequest()) { if (config) { - this.defaults = { ...this.defaults, ...config }; + this.defaults = { + ...this.defaults, + ...config, + headers: { + ...this.defaults.headers, + ...config.headers + }, + }; } } + getBaseUrl = (): string => this.defaults.baseURL; + setAuthorization = (token?) => this.defaults.headers.Authorization = token; + propfind = (url: string, config: WebDAVRequestConfig = {}) => this.request({ ...config, url, @@ -82,7 +94,7 @@ export class WebDAV { this.defaults.baseURL = this.defaults.baseURL.replace(/\/+$/, ''); r.open(config.method, `${this.defaults.baseURL - ? this.defaults.baseURL+'/' + ? this.defaults.baseURL + '/' : ''}${customEncodeURI(config.url)}`); const headers = { ...this.defaults.headers, ...config.headers };