Browse Source

headers: Fix `+` in Caddyfile to properly append rather than set (#4506)

master
Francis Lavoie 3 years ago
committed by GitHub
parent
commit
e9dde23024
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 15
      caddytest/integration/caddyfile_adapt/header.txt
  2. 2
      modules/caddyhttp/headers/caddyfile.go

15
caddytest/integration/caddyfile_adapt/header.txt

@ -13,6 +13,10 @@
header @images { header @images {
Cache-Control "public, max-age=3600, stale-while-revalidate=86400" Cache-Control "public, max-age=3600, stale-while-revalidate=86400"
} }
header {
+Link "Foo"
+Link "Bar"
}
} }
---------- ----------
{ {
@ -121,6 +125,17 @@
] ]
} }
} }
},
{
"handler": "headers",
"response": {
"add": {
"Link": [
"Foo",
"Bar"
]
}
}
} }
] ]
} }

2
modules/caddyhttp/headers/caddyfile.go

@ -222,7 +222,7 @@ func applyHeaderOp(ops *HeaderOps, respHeaderOps *RespHeaderOps, field, value, r
if ops.Add == nil { if ops.Add == nil {
ops.Add = make(http.Header) ops.Add = make(http.Header)
} }
ops.Add.Set(field[1:], value) ops.Add.Add(field[1:], value)
case strings.HasPrefix(field, "-"): // delete case strings.HasPrefix(field, "-"): // delete
ops.Delete = append(ops.Delete, field[1:]) ops.Delete = append(ops.Delete, field[1:])

Loading…
Cancel
Save