27 lines
754 B
Go
27 lines
754 B
Go
package lib
|
|
|
|
import "net/http"
|
|
|
|
var _ http.ResponseWriter = responseWriterNoBody{}
|
|
|
|
// responseWriterNoBody is a wrapper used to suppress the body of the response
|
|
// to a request. Mainly used for HEAD requests.
|
|
type responseWriterNoBody struct {
|
|
http.ResponseWriter
|
|
}
|
|
|
|
// newResponseWriterNoBody creates a new responseWriterNoBody.
|
|
func newResponseWriterNoBody(w http.ResponseWriter) *responseWriterNoBody {
|
|
return &responseWriterNoBody{w}
|
|
}
|
|
|
|
// Write suppress the body.
|
|
func (w responseWriterNoBody) Write(data []byte) (int, error) {
|
|
return 0, nil
|
|
}
|
|
|
|
// WriteHeader writes the header to the http.ResponseWriter.
|
|
func (w responseWriterNoBody) WriteHeader(statusCode int) {
|
|
w.Header().Del("Content-Length")
|
|
w.ResponseWriter.WriteHeader(statusCode)
|
|
}
|