diff options
author | Francis Lavoie <lavofr@gmail.com> | 2020-11-30 12:20:30 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-30 10:20:30 -0700 |
commit | a26f70a12b1289231d705bc002fe1df3180cb6c5 (patch) | |
tree | 7e800807bd1d03f80126900bd528b746e5369195 | |
parent | 4afcdc49d14855c0c3a4fd4558d0f81906db3ffb (diff) |
headers: Fix Caddyfile parsing with request matcher (#3892)
-rw-r--r-- | caddytest/integration/caddyfile_adapt/header.txt | 25 | ||||
-rw-r--r-- | modules/caddyhttp/headers/caddyfile.go | 4 |
2 files changed, 29 insertions, 0 deletions
diff --git a/caddytest/integration/caddyfile_adapt/header.txt b/caddytest/integration/caddyfile_adapt/header.txt index b8e102f..19a5b41 100644 --- a/caddytest/integration/caddyfile_adapt/header.txt +++ b/caddytest/integration/caddyfile_adapt/header.txt @@ -9,6 +9,10 @@ ?Tim "Berners-Lee" defer } + @images path /images/* + header @images { + Cache-Control "public, max-age=3600, stale-while-revalidate=86400" + } } ---------- { @@ -21,6 +25,27 @@ ], "routes": [ { + "match": [ + { + "path": [ + "/images/*" + ] + } + ], + "handle": [ + { + "handler": "headers", + "response": { + "set": { + "Cache-Control": [ + "public, max-age=3600, stale-while-revalidate=86400" + ] + } + } + } + ] + }, + { "handle": [ { "handler": "headers", diff --git a/modules/caddyhttp/headers/caddyfile.go b/modules/caddyhttp/headers/caddyfile.go index 75498b2..574e54b 100644 --- a/modules/caddyhttp/headers/caddyfile.go +++ b/modules/caddyhttp/headers/caddyfile.go @@ -46,6 +46,10 @@ func init() { // and ? conditionally sets a value only if the header field is not already // set. func parseCaddyfile(h httpcaddyfile.Helper) ([]httpcaddyfile.ConfigValue, error) { + if !h.Next() { + return nil, h.ArgErr() + } + matcherSet, err := h.ExtractMatcherSet() if err != nil { return nil, err |