From 4245ceb67d1a40ce7a691bcf85e143218e5c458c Mon Sep 17 00:00:00 2001 From: mritd Date: Fri, 2 Jul 2021 07:22:16 +0800 Subject: 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 * feat(file_server): rename subdirective canonical_uris to disable_canonical_uris rename subdirective canonical_uris to disable_canonical_uris Signed-off-by: mritd * test(caddyfile_adapt): add disable_canonical_uris subdirective test file add disable_canonical_uris subdirective test file Signed-off-by: mritd --- .../file_server_disable_canonical_uris.txt | 32 ++++++++++++++++++++++ modules/caddyhttp/fileserver/caddyfile.go | 8 ++++++ 2 files changed, 40 insertions(+) create mode 100644 caddytest/integration/caddyfile_adapt/file_server_disable_canonical_uris.txt 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 [] // precompressed // 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()) } -- cgit v1.2.3