diff --git a/cmd/cmd.go b/cmd/cmd.go index be4f97c..18f5233 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -9,4 +9,4 @@ func Execute() { if err := rootCmd.Execute(); err != nil { log.Fatal(err) } -} \ No newline at end of file +} diff --git a/cmd/config.go b/cmd/config.go index 4566b45..0ce9938 100644 --- a/cmd/config.go +++ b/cmd/config.go @@ -126,14 +126,12 @@ func parseCors(raw []interface{}, c *webdav.Config) { if cfg, ok := v.(map[interface{}]interface{}); ok { cors := webdav.CorsCfg{ - Enabled: cfg["enabled"].(bool), + Enabled: cfg["enabled"].(bool), AllowedHosts: []string{}, } - if allowed_hosts, ok := cfg["allowed_hosts"]; ok { - for _, host := range strings.Split(allowed_hosts.(string), ",") { - hosts = append(hosts, host) - } + if allowedHosts, ok := cfg["allowed_hosts"]; ok { + hosts = append(hosts, strings.Split(allowedHosts.(string), ",")...) } if len(hosts) == 0 { @@ -157,9 +155,9 @@ func readConfig(flags *pflag.FlagSet) *webdav.Config { LockSystem: wd.NewMemLS(), }, }, - Auth: getOptB(flags, "auth"), + Auth: getOptB(flags, "auth"), Cors: webdav.CorsCfg{ - Enabled: false, + Enabled: false, AllowedHosts: []string{}, }, Users: map[string]*webdav.User{}, diff --git a/webdav/utils.go b/webdav/utils.go index 9acd415..fa719d5 100755 --- a/webdav/utils.go +++ b/webdav/utils.go @@ -16,10 +16,10 @@ func checkPassword(saved, input string) bool { } func isAllowedHost(allowedHosts []string, origin string) bool { - for _, host := range allowedHosts { - if host == origin { - return true - } - } - return false + for _, host := range allowedHosts { + if host == origin { + return true + } + } + return false } diff --git a/webdav/webdav.go b/webdav/webdav.go index b818538..757af5c 100755 --- a/webdav/webdav.go +++ b/webdav/webdav.go @@ -6,17 +6,17 @@ import ( "net/http" ) -// Config is the configuration of a WebDAV instance. - +// CorsCfg is the CORS config. type CorsCfg struct { - Enabled bool + Enabled bool AllowedHosts []string } +// Config is the configuration of a WebDAV instance. type Config struct { *User Auth bool - Cors CorsCfg + Cors CorsCfg Users map[string]*User } @@ -30,11 +30,11 @@ func (c *Config) ServeHTTP(w http.ResponseWriter, r *http.Request) { headers := w.Header() - if(len(c.Cors.AllowedHosts) == 1 && c.Cors.AllowedHosts[0] == "*") { + if len(c.Cors.AllowedHosts) == 1 && c.Cors.AllowedHosts[0] == "*" { headers.Set("Access-Control-Allow-Methods", "*") headers.Set("Access-Control-Allow-Headers", "*") headers.Set("Access-Control-Allow-Origin", "*") - } else if(isAllowedHost(c.Cors.AllowedHosts, requestOrigin)) { + } else if isAllowedHost(c.Cors.AllowedHosts, requestOrigin) { headers.Set("Access-Control-Allow-Origin", requestOrigin) headers.Set("Access-Control-Allow-Headers", "*") headers.Set("Access-Control-Allow-Methods", "*")