summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorFrancis Lavoie <[email protected]>2020-11-30 12:20:30 -0500
committerGitHub <[email protected]>2020-11-30 10:20:30 -0700
commita26f70a12b1289231d705bc002fe1df3180cb6c5 (patch)
tree7e800807bd1d03f80126900bd528b746e5369195
parent4afcdc49d14855c0c3a4fd4558d0f81906db3ffb (diff)
downloadcaddy-a26f70a12b1289231d705bc002fe1df3180cb6c5.tar.gz
caddy-a26f70a12b1289231d705bc002fe1df3180cb6c5.zip
headers: Fix Caddyfile parsing with request matcher (#3892)v2.3.0-beta.1
-rw-r--r--caddytest/integration/caddyfile_adapt/header.txt25
-rw-r--r--modules/caddyhttp/headers/caddyfile.go4
2 files changed, 29 insertions, 0 deletions
diff --git a/caddytest/integration/caddyfile_adapt/header.txt b/caddytest/integration/caddyfile_adapt/header.txt
index b8e102fa1..19a5b41a3 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 75498b247..574e54bbd 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