summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancis Lavoie <lavofr@gmail.com>2022-03-04 22:50:05 -0500
committerGitHub <noreply@github.com>2022-03-04 20:50:05 -0700
commit09ba9e994e6391162fbfdfbd90c72270bdff3a49 (patch)
tree29d4d166bda14d28cbcd6b8e8c61126fcbd46a3d
parentbe82cc7acae6c259aec176363478cdb390a989ee (diff)
fileserver: Add `pass_thru` Caddyfile option (#4613)
-rw-r--r--caddytest/integration/caddyfile_adapt/file_server_pass_thru.txt32
-rw-r--r--modules/caddyhttp/fileserver/caddyfile.go6
2 files changed, 38 insertions, 0 deletions
diff --git a/caddytest/integration/caddyfile_adapt/file_server_pass_thru.txt b/caddytest/integration/caddyfile_adapt/file_server_pass_thru.txt
new file mode 100644
index 0000000..476b165
--- /dev/null
+++ b/caddytest/integration/caddyfile_adapt/file_server_pass_thru.txt
@@ -0,0 +1,32 @@
+:80
+
+file_server {
+ pass_thru
+}
+----------
+{
+ "apps": {
+ "http": {
+ "servers": {
+ "srv0": {
+ "listen": [
+ ":80"
+ ],
+ "routes": [
+ {
+ "handle": [
+ {
+ "handler": "file_server",
+ "hide": [
+ "./Caddyfile"
+ ],
+ "pass_thru": true
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/modules/caddyhttp/fileserver/caddyfile.go b/modules/caddyhttp/fileserver/caddyfile.go
index 886d667..2641535 100644
--- a/modules/caddyhttp/fileserver/caddyfile.go
+++ b/modules/caddyhttp/fileserver/caddyfile.go
@@ -120,6 +120,12 @@ func parseCaddyfile(h httpcaddyfile.Helper) (caddyhttp.MiddlewareHandler, error)
falseBool := false
fsrv.CanonicalURIs = &falseBool
+ case "pass_thru":
+ if h.NextArg() {
+ return nil, h.ArgErr()
+ }
+ fsrv.PassThru = true
+
default:
return nil, h.Errf("unknown subdirective '%s'", h.Val())
}