feat: add URL prefix(subpath) support (#31)

To adapt to situations such as working behind a reverse proxy dispatching query to different services by URL path prefix
This commit is contained in:
Shun Zi
2019-11-08 13:01:42 +00:00
committed by Henrique Dias
parent ab0334f036
commit 2971f7ed3d
3 changed files with 4 additions and 0 deletions
+1
View File
@@ -20,6 +20,7 @@ auth: true
tls: false tls: false
cert: cert.pem cert: cert.pem
key: key.pem key: key.pem
prefix: /
# Default user settings (will be merged) # Default user settings (will be merged)
scope: . scope: .
+2
View File
@@ -114,6 +114,7 @@ func parseUsers(raw []interface{}, c *webdav.Config) {
} }
user.Handler = &wd.Handler{ user.Handler = &wd.Handler{
Prefix: c.User.Handler.Prefix,
FileSystem: wd.Dir(user.Scope), FileSystem: wd.Dir(user.Scope),
LockSystem: wd.NewMemLS(), LockSystem: wd.NewMemLS(),
} }
@@ -170,6 +171,7 @@ func readConfig(flags *pflag.FlagSet) *webdav.Config {
Modify: getOptB(flags, "modify"), Modify: getOptB(flags, "modify"),
Rules: []*webdav.Rule{}, Rules: []*webdav.Rule{},
Handler: &wd.Handler{ Handler: &wd.Handler{
Prefix: getOpt(flags, "prefix"),
FileSystem: wd.Dir(getOpt(flags, "scope")), FileSystem: wd.Dir(getOpt(flags, "scope")),
LockSystem: wd.NewMemLS(), LockSystem: wd.NewMemLS(),
}, },
+1
View File
@@ -26,6 +26,7 @@ func init() {
flags.String("key", "key.pem", "TLS key") flags.String("key", "key.pem", "TLS key")
flags.StringP("address", "a", "0.0.0.0", "address to listen to") flags.StringP("address", "a", "0.0.0.0", "address to listen to")
flags.StringP("port", "p", "0", "port to listen to") flags.StringP("port", "p", "0", "port to listen to")
flags.StringP("prefix", "P", "/", "URL path prefix")
} }
var rootCmd = &cobra.Command{ var rootCmd = &cobra.Command{