Bladeren bron

[dav] WebDav configurable

cgars 7 jaren geleden
bovenliggende
commit
c30ffa61dc
3 gewijzigde bestanden met toevoegingen van 13 en 0 verwijderingen
  1. 3 0
      conf/app.ini
  2. 4 0
      pkg/dav/dav.go
  3. 6 0
      pkg/setting/setting.go

+ 3 - 0
conf/app.ini

@@ -536,6 +536,9 @@ DOI_URL = https://doi.gin.g-node.org/
 DOI_KEY = WONTWORK
 DOI_KEY = WONTWORK
 DOI_BASE = 123454/789.gty
 DOI_BASE = 123454/789.gty
 
 
+[dav]
+ON = false
+
 ; Extension mapping to highlight class
 ; Extension mapping to highlight class
 ; e.g. .toml=ini
 ; e.g. .toml=ini
 [highlight.mapping]
 [highlight.mapping]

+ 4 - 0
pkg/dav/dav.go

@@ -29,6 +29,10 @@ var (
 const ANNEXPEEKSIZE = 1024
 const ANNEXPEEKSIZE = 1024
 
 
 func Dav(c *gctx.Context, handler *webdav.Handler) {
 func Dav(c *gctx.Context, handler *webdav.Handler) {
+	if !setting.WebDav.On {
+		c.WriteHeader(http.StatusNotImplemented)
+		return
+	}
 	if checkPerms(c) != nil {
 	if checkPerms(c) != nil {
 		Webdav401(c)
 		Webdav401(c)
 		return
 		return

+ 6 - 0
pkg/setting/setting.go

@@ -341,6 +341,10 @@ var (
 		DoiKey  string
 		DoiKey  string
 		DoiBase string
 		DoiBase string
 	}
 	}
+
+	WebDav struct {
+		On bool
+	}
 )
 )
 
 
 // DateLang transforms standard language locale name to corresponding value in datetime plugin.
 // DateLang transforms standard language locale name to corresponding value in datetime plugin.
@@ -704,6 +708,8 @@ func NewContext() {
 		log.Fatal(2, "Fail to map Search settings: %v", err)
 		log.Fatal(2, "Fail to map Search settings: %v", err)
 	} else if err = Cfg.Section("doi").MapTo(&Doi); err != nil {
 	} else if err = Cfg.Section("doi").MapTo(&Doi); err != nil {
 		log.Fatal(2, "Fail to map Doi settings: %v", err)
 		log.Fatal(2, "Fail to map Doi settings: %v", err)
+	} else if err = Cfg.Section("dav").MapTo(&WebDav); err != nil {
+		log.Fatal(2, "Fail to map WebDav settings: %v", err)
 	}
 	}
 
 
 	if Mirror.DefaultInterval <= 0 {
 	if Mirror.DefaultInterval <= 0 {