writer.go 489 B

1234567891011121314151617181920212223242526
  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 {
  11. if !RollBarSkipStatusCodes.Contain(w.Status) {
  12. w.Content = append(w.Content, b...)
  13. }
  14. }
  15. size, err := w.ResponseWriter.Write(b)
  16. w.Size += size
  17. return size, err
  18. }
  19. func (w *ResponseWriter) WriteHeader(status int) {
  20. w.Status = status
  21. w.ResponseWriter.WriteHeader(status)
  22. }