summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormritd <mritd@linux.com>2021-07-02 07:22:16 +0800
committerGitHub <noreply@github.com>2021-07-01 17:22:16 -0600
commit4245ceb67d1a40ce7a691bcf85e143218e5c458c (patch)
tree9b9a825737aaaa611ade0a15b3a31d1ea99eda14
parent0bdb8aa82d7cef64dae3f75f19c680922237e658 (diff)
fileserver: Add `disable_canonical_uris` Caddyfile subdirective (#4222)
* feat(fileserver): add 'canonical_uris' parameter to caddyfile add 'canonical_uris' parameter to caddyfile reference #2741 Signed-off-by: mritd <mritd@linux.com> * feat(file_server): rename subdirective canonical_uris to disable_canonical_uris rename subdirective canonical_uris to disable_canonical_uris Signed-off-by: mritd <mritd@linux.com> * test(caddyfile_adapt): add disable_canonical_uris subdirective test file add disable_canonical_uris subdirective test file Signed-off-by: mritd <mritd@linux.com>
-rw-r--r--caddytest/integration/caddyfile_adapt/file_server_disable_canonical_uris.txt32
-rw-r--r--modules/caddyhttp/fileserver/caddyfile.go8
2 files changed, 40 insertions, 0 deletions
diff --git a/caddytest/integration/caddyfile_adapt/file_server_disable_canonical_uris.txt b/caddytest/integration/caddyfile_adapt/file_server_disable_canonical_uris.txt
new file mode 100644
index 0000000..c30b9e9
--- /dev/null
+++ b/caddytest/integration/caddyfile_adapt/file_server_disable_canonical_uris.txt
@@ -0,0 +1,32 @@
+:80
+
+file_server {
+ disable_canonical_uris
+}
+----------
+{
+ "apps": {
+ "http": {
+ "servers": {
+ "srv0": {
+ "listen": [
+ ":80"
+ ],
+ "routes": [
+ {
+ "handle": [
+ {
+ "canonical_uris": false,
+ "handler": "file_server",
+ "hide": [
+ "./Caddyfile"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/modules/caddyhttp/fileserver/caddyfile.go b/modules/caddyhttp/fileserver/caddyfile.go
index 447f481..886d667 100644
--- a/modules/caddyhttp/fileserver/caddyfile.go
+++ b/modules/caddyhttp/fileserver/caddyfile.go
@@ -41,6 +41,7 @@ func init() {
// browse [<template_file>]
// precompressed <formats...>
// status <status>
+// disable_canonical_uris
// }
//
func parseCaddyfile(h httpcaddyfile.Helper) (caddyhttp.MiddlewareHandler, error) {
@@ -112,6 +113,13 @@ func parseCaddyfile(h httpcaddyfile.Helper) (caddyhttp.MiddlewareHandler, error)
}
fsrv.StatusCode = caddyhttp.WeakString(h.Val())
+ case "disable_canonical_uris":
+ if h.NextArg() {
+ return nil, h.ArgErr()
+ }
+ falseBool := false
+ fsrv.CanonicalURIs = &falseBool
+
default:
return nil, h.Errf("unknown subdirective '%s'", h.Val())
}