From 1e8c9764df94c7b6549dc9f5be618cddc4573d1b Mon Sep 17 00:00:00 2001 From: Matt Holt Date: Tue, 5 May 2020 12:34:58 -0600 Subject: [PATCH] file_server: Accept files args in one-liner of Caddyfile matcher (#3298) Previously, matching by trying files other than the actual path of the URI was: file { try_files } Now, the same can be done in one line: file As before, an empty file matcher: file still matches if the request URI exists as a file in the site root. --- modules/caddyhttp/fileserver/matcher.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/caddyhttp/fileserver/matcher.go b/modules/caddyhttp/fileserver/matcher.go index 1beb8bac..9144ca4d 100644 --- a/modules/caddyhttp/fileserver/matcher.go +++ b/modules/caddyhttp/fileserver/matcher.go @@ -91,7 +91,7 @@ func (MatchFile) CaddyModule() caddy.ModuleInfo { // UnmarshalCaddyfile sets up the matcher from Caddyfile tokens. Syntax: // -// file { +// file { // root // try_files // try_policy first_exist|smallest_size|largest_size|most_recently_modified @@ -99,6 +99,7 @@ func (MatchFile) CaddyModule() caddy.ModuleInfo { // func (m *MatchFile) UnmarshalCaddyfile(d *caddyfile.Dispenser) error { for d.Next() { + m.TryFiles = append(m.TryFiles, d.RemainingArgs()...) for d.NextBlock(0) { switch d.Val() { case "root": @@ -107,7 +108,7 @@ func (m *MatchFile) UnmarshalCaddyfile(d *caddyfile.Dispenser) error { } m.Root = d.Val() case "try_files": - m.TryFiles = d.RemainingArgs() + m.TryFiles = append(m.TryFiles, d.RemainingArgs()...) if len(m.TryFiles) == 0 { return d.ArgErr() }