Prevent superfluous response.WriteHeader (#15456) (#15476)

Backport #15456

This PR simply checks the status before writing the header.

Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
zeripath 2021-04-15 11:02:42 +01:00 committed by GitHub
parent b28c3245cc
commit 00e55dd223
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 3 deletions

View File

@ -4,7 +4,9 @@
package context
import "net/http"
import (
"net/http"
)
// ResponseWriter represents a response writer for HTTP
type ResponseWriter interface {
@ -60,8 +62,10 @@ func (r *Response) WriteHeader(statusCode int) {
}
r.beforeExecuted = true
}
r.status = statusCode
r.ResponseWriter.WriteHeader(statusCode)
if r.status == 0 {
r.status = statusCode
r.ResponseWriter.WriteHeader(statusCode)
}
}
// Flush flush cached data