diff --git a/cmd/stepd/handler.go b/cmd/stepd/handler.go index 3bbb120..b2951b8 100644 --- a/cmd/stepd/handler.go +++ b/cmd/stepd/handler.go @@ -84,9 +84,10 @@ func (this *handler) serveFile (res http.ResponseWriter, req *http.Request, file } // set up HTTP response recorder - recorder := step.HTTPResponseRecorder { - Status: http.StatusOK, - Head: res.Header(), + recorder := step.HTTPResponseRecorder { } + resetRecorder := func () { + recorder.Reset() + recorder.Header = res.Header().Clone() } if contentType, ok := document.FrontMatter["content-type"]; ok { recorder.Header().Set("Content-Type", contentType) @@ -99,9 +100,9 @@ func (this *handler) serveFile (res http.ResponseWriter, req *http.Request, file // execute document data := step.HTTPData { } - data.Res.Header = make(http.Header) + data.Res.Header = recorder.Header data.Res.WriteHeader = recorder.WriteHeader - data.Res.Reset = recorder.Reset + data.Res.Reset = resetRecorder data.Req = req err = document.Execute(&recorder, step.ExecutionData { Data: data,