1
0
Fork 0
mirror of https://github.com/Luzifer/go_helpers.git synced 2024-12-24 21:11:21 +00:00

Added AccessLogResponseWriter

This commit is contained in:
Knut Ahlers 2016-05-18 23:29:57 +02:00
parent 8f328116d4
commit 6c5e4a23ab
Signed by: luzifer
GPG key ID: DC2729FDD34BE99E

View file

@ -0,0 +1,37 @@
package accessLogger
import (
"fmt"
"net/http"
"strconv"
)
type AccessLogResponseWriter struct {
StatusCode int
Size int
http.ResponseWriter
}
func New(res http.ResponseWriter) *AccessLogResponseWriter {
return &AccessLogResponseWriter{
StatusCode: 200,
Size: 0,
ResponseWriter: res,
}
}
func (a *AccessLogResponseWriter) Write(out []byte) (int, error) {
s, err := a.ResponseWriter.Write(out)
a.Size += s
return s, err
}
func (a *AccessLogResponseWriter) WriteHeader(code int) {
a.StatusCode = code
a.ResponseWriter.WriteHeader(code)
}
func (a *AccessLogResponseWriter) HTTPResponseType() string {
return fmt.Sprintf("%sxx", strconv.FormatInt(int64(a.StatusCode), 10)[0])
}