diff --git a/src/backend/src/modules/web/WebServerService.js b/src/backend/src/modules/web/WebServerService.js index 70b8788b8..b4477248d 100644 --- a/src/backend/src/modules/web/WebServerService.js +++ b/src/backend/src/modules/web/WebServerService.js @@ -619,7 +619,8 @@ class WebServerService extends BaseService { // Website(s) to allow to connect if ( config.experimental_no_subdomain || - req.subdomains[req.subdomains.length - 1] === 'api' + req.subdomains[req.subdomains.length - 1] === 'api' || + req.subdomains[req.subdomains.length - 1] === 'dav' ) { res.setHeader('Access-Control-Allow-Origin', origin ?? '*'); } diff --git a/src/backend/src/services/WebDAV/WebDAVService.js b/src/backend/src/services/WebDAV/WebDAVService.js index 1e1e93c3d..41a53100a 100644 --- a/src/backend/src/services/WebDAV/WebDAVService.js +++ b/src/backend/src/services/WebDAV/WebDAVService.js @@ -245,6 +245,10 @@ class WebDAVService extends BaseService { * @param {import("express").Response} res */ handler: async ( req, res ) => { + if ( req.method === 'OPTIONS' ) { + this.handleWebDavServer('/', req, res); + return; + } const svc_su = this.services.get('su'); let actor = await this.handleHttpBasicAuth(req.actor, req, res); if ( ! actor ) {