writer.go 480 B

123456789101112131415161718192021222324
  1. package logger
  2. import "net/http"
  3. type ResponseWriter struct {
  4. http.ResponseWriter
  5. Content []byte
  6. Size int
  7. Status int
  8. }
  9. func (w *ResponseWriter) Write(b []byte) (int, error) {
  10. if RollBarEnabled && !RollBarSkipStatusCodes.contain(w.Status) {
  11. w.Content = append(w.Content, b...)
  12. }
  13. size, err := w.ResponseWriter.Write(b)
  14. w.Size += size
  15. return size, err
  16. }
  17. func (w *ResponseWriter) WriteHeader(status int) {
  18. w.Status = status
  19. w.ResponseWriter.WriteHeader(status)
  20. }