diff --git a/handler.go b/handler.go index 21e6f2f..ca5a489 100644 --- a/handler.go +++ b/handler.go @@ -457,6 +457,8 @@ func (handler *Handler) sendError(w http.ResponseWriter, r *http.Request, err er } reason := err.Error() + "\n" + + // Avoid sending a response to a HEAD request. They expect an empty body. if r.Method == "HEAD" { reason = "" } diff --git a/head_test.go b/head_test.go index 9b572bd..9b809af 100644 --- a/head_test.go +++ b/head_test.go @@ -53,7 +53,7 @@ func TestHead(t *testing.T) { t.Errorf("Expected valid metadata (got '%s')", v) } - (&httpTest{ + res = (&httpTest{ Name: "Non-existing file", Method: "HEAD", URL: "no", @@ -64,6 +64,9 @@ func TestHead(t *testing.T) { ResHeader: map[string]string{ "Content-Length": "0", }, - ResBody: "", }).Run(handler, t) + + if string(res.Body.Bytes()) != "" { + t.Errorf("Expected empty body for failed HEAD request") + } }