diff --git a/internal/http/services/ocmd/discovery.go b/internal/http/services/ocmd/discovery.go index 891f914cf93..d53e660819e 100644 --- a/internal/http/services/ocmd/discovery.go +++ b/internal/http/services/ocmd/discovery.go @@ -52,12 +52,12 @@ func (h *discoHandler) init(c *config) { h.d.Provider = c.Provider rtProtos := map[string]string{} // webdav is always enabled - rtProtos["webdav"] = fmt.Sprintf("%s/remote.php/dav/%s", c.Endpoint, c.Prefix) + rtProtos["webdav"] = fmt.Sprintf("%s/%s/%s", c.Endpoint, c.WebDAVRoot, c.Prefix) if c.EnableWebApp { - rtProtos["webapp"] = fmt.Sprintf("%s/external/sciencemesh", c.Endpoint) + rtProtos["webapp"] = fmt.Sprintf("%s/%s", c.Endpoint, c.WebAppRoot) } if c.EnableDataTx { - rtProtos["datatx"] = fmt.Sprintf("%s/remote.php/dav/%s", c.Endpoint, c.Prefix) + rtProtos["datatx"] = fmt.Sprintf("%s/%s/%s", c.Endpoint, c.WebDAVRoot, c.Prefix) } h.d.ResourceTypes = []resourceTypes{{ Name: "file", // so far we only support `file` diff --git a/internal/http/services/ocmd/ocm.go b/internal/http/services/ocmd/ocm.go index f91f29c4ae9..c7078fc5be5 100644 --- a/internal/http/services/ocmd/ocm.go +++ b/internal/http/services/ocmd/ocm.go @@ -38,6 +38,8 @@ type config struct { GatewaySvc string `mapstructure:"gatewaysvc"` Endpoint string `mapstructure:"endpoint"` Provider string `mapstructure:"provider"` + WebDAVRoot string `mapstructure:"webdav_root"` + WebAppRoot string `mapstructure:"webapp_root"` EnableWebApp bool `mapstructure:"enable_webapp"` EnableDataTx bool `mapstructure:"enable_datatx"` ExposeRecipientDisplayName bool `mapstructure:"expose_recipient_display_name"` @@ -55,6 +57,12 @@ func (c *config) init() { if c.Provider == "" { c.Provider = "reva" } + if c.WebDAVRoot == "" { + c.WebDAVRoot = "remote.php/dav" + } + if c.WebAppRoot == "" { + c.WebAppRoot = "external/sciencemesh" + } } type svc struct {