Merge pull request #615 from 1lann/master

errors: Set missing Content-Type for plaintext error messages
This commit is contained in:
Matt Holt 2016-02-19 14:52:43 -07:00
commit b860be01bb
2 changed files with 3 additions and 1 deletions

View File

@ -12,7 +12,7 @@ import (
"github.com/mholt/caddy/middleware/errors" "github.com/mholt/caddy/middleware/errors"
) )
// Errors configures a new gzip middleware instance. // Errors configures a new errors middleware instance.
func Errors(c *Controller) (middleware.Middleware, error) { func Errors(c *Controller) (middleware.Middleware, error) {
handler, err := errorsParse(c) handler, err := errorsParse(c)
if err != nil { if err != nil {

View File

@ -34,6 +34,7 @@ func (h ErrorHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) (int, er
if h.Debug { if h.Debug {
// Write error to response instead of to log // Write error to response instead of to log
w.Header().Set("Content-Type", "text/plain; charset=utf-8")
w.WriteHeader(status) w.WriteHeader(status)
fmt.Fprintln(w, errMsg) fmt.Fprintln(w, errMsg)
return 0, err // returning < 400 signals that a response has been written return 0, err // returning < 400 signals that a response has been written
@ -124,6 +125,7 @@ func (h ErrorHandler) recovery(w http.ResponseWriter, r *http.Request) {
// Write error and stack trace to the response rather than to a log // Write error and stack trace to the response rather than to a log
var stackBuf [4096]byte var stackBuf [4096]byte
stack := stackBuf[:runtime.Stack(stackBuf[:], false)] stack := stackBuf[:runtime.Stack(stackBuf[:], false)]
w.Header().Set("Content-Type", "text/plain; charset=utf-8")
w.WriteHeader(http.StatusInternalServerError) w.WriteHeader(http.StatusInternalServerError)
fmt.Fprintf(w, "%s\n\n%s", panicMsg, stack) fmt.Fprintf(w, "%s\n\n%s", panicMsg, stack)
} else { } else {