diff options
Diffstat (limited to 'apps/files_versions/src')
-rw-r--r-- | apps/files_versions/src/utils/davClient.js | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/apps/files_versions/src/utils/davClient.js b/apps/files_versions/src/utils/davClient.js index 022d34bbba4..b091935fc31 100644 --- a/apps/files_versions/src/utils/davClient.js +++ b/apps/files_versions/src/utils/davClient.js @@ -21,17 +21,25 @@ import { createClient } from 'webdav' import { generateRemoteUrl } from '@nextcloud/router' -import { getRequestToken } from '@nextcloud/auth' +import { getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth' +// init webdav client const rootPath = 'dav' - -// init webdav client on default dav endpoint const remote = generateRemoteUrl(rootPath) -export default createClient(remote, { - headers: { - // Add this so the server knows it is an request from the browser - 'X-Requested-With': 'XMLHttpRequest', - // Inject user auth - requesttoken: getRequestToken() ?? '', - }, -}) +const client = createClient(remote) + +// set CSRF token header +const setHeaders = (token) => { + client.setHeaders({ + // Add this so the server knows it is an request from the browser + 'X-Requested-With': 'XMLHttpRequest', + // Inject user auth + requesttoken: token ?? '', + }) +} + +// refresh headers when request token changes +onRequestTokenUpdate(setHeaders) +setHeaders(getRequestToken()) + +export default client
\ No newline at end of file |