summaryrefslogtreecommitdiff
path: root/modules/caddyhttp/staticresp.go
diff options
context:
space:
mode:
authorMatthew Holt <mholt@users.noreply.github.com>2019-06-21 14:36:26 -0600
committerMatthew Holt <mholt@users.noreply.github.com>2019-06-21 14:36:26 -0600
commitd49f762f6d9cdc2e92e8de40f0b0e99a9d0c4fc9 (patch)
treea4003b5967027faaf0cbbb6fbd7b8407a14a508c /modules/caddyhttp/staticresp.go
parent81a9e125b54b34d453c425dbd58a3270b9568dca (diff)
Various bug fixes and minor improvements
- Fix static responder so it doesn't replace its own headers config, and instead replaces the actual response header values - caddyhttp.ResponseRecorder type optionally buffers response - Add interface guards to ensure regexp matchers get provisioned - Use default HTTP port if one is not explicitly set - Encode middleware writes status code 200 if not written upstream - Templates and markdown only try to execute on text responses - Static file server sets Content-Type based on file extension only (this whole thing -- MIME sniffing, etc -- needs more configurability)
Diffstat (limited to 'modules/caddyhttp/staticresp.go')
-rw-r--r--modules/caddyhttp/staticresp.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/modules/caddyhttp/staticresp.go b/modules/caddyhttp/staticresp.go
index dfb3277..f48fcea 100644
--- a/modules/caddyhttp/staticresp.go
+++ b/modules/caddyhttp/staticresp.go
@@ -33,10 +33,11 @@ func (s Static) ServeHTTP(w http.ResponseWriter, r *http.Request) error {
// set all headers
for field, vals := range s.Headers {
field = repl.ReplaceAll(field, "")
+ newVals := make([]string, len(vals))
for i := range vals {
- vals[i] = repl.ReplaceAll(vals[i], "")
+ newVals[i] = repl.ReplaceAll(vals[i], "")
}
- w.Header()[field] = vals
+ w.Header()[field] = newVals
}
// do not allow Go to sniff the content-type