@marcel91200 / caddy Mirror · read-only / commits / 4245ceb6
Fork 0

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Mirrored from https://github.com/Slazee/caddy.git

Synced Nov 14, 05:15 UTC

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>

mritd committed Jul 2, 2021 at 07:22 UTC 4245ceb67d1a40ce7a691bcf85e143218e5c458c
2 files changed +40
caddytest/integration/caddyfile_adapt/file_server_disable_canonical_uris.txt new
+32
@@ -0,0 +1,32 @@
1 +:80
2 +
3 +file_server {
4 + disable_canonical_uris
5 +}
6 +----------
7 +{
8 + "apps": {
9 + "http": {
10 + "servers": {
11 + "srv0": {
12 + "listen": [
13 + ":80"
14 + ],
15 + "routes": [
16 + {
17 + "handle": [
18 + {
19 + "canonical_uris": false,
20 + "handler": "file_server",
21 + "hide": [
22 + "./Caddyfile"
23 + ]
24 + }
25 + ]
26 + }
27 + ]
28 + }
29 + }
30 + }
31 + }
32 +}
modules/caddyhttp/fileserver/caddyfile.go
+8
@@ -41,6 +41,7 @@ func init() {
41 // browse [<template_file>]
42 // precompressed <formats...>
43 // status <status>
44 +// disable_canonical_uris
45 // }
46 //
47 func parseCaddyfile(h httpcaddyfile.Helper) (caddyhttp.MiddlewareHandler, error) {
@@ -112,6 +113,13 @@ func parseCaddyfile(h httpcaddyfile.Helper) (caddyhttp.MiddlewareHandler, error)
113 }
114 fsrv.StatusCode = caddyhttp.WeakString(h.Val())
115
116 + case "disable_canonical_uris":
117 + if h.NextArg() {
118 + return nil, h.ArgErr()
119 + }
120 + falseBool := false
121 + fsrv.CanonicalURIs = &falseBool
122 +
123 default:
124 return nil, h.Errf("unknown subdirective '%s'", h.Val())
125 }