handlers_go18.go 368 B

123456789101112131415161718192021
  1. // +build go1.8
  2. package handlers
  3. import (
  4. "fmt"
  5. "net/http"
  6. )
  7. type loggingResponseWriter interface {
  8. commonLoggingResponseWriter
  9. http.Pusher
  10. }
  11. func (l *responseLogger) Push(target string, opts *http.PushOptions) error {
  12. p, ok := l.w.(http.Pusher)
  13. if !ok {
  14. return fmt.Errorf("responseLogger does not implement http.Pusher")
  15. }
  16. return p.Push(target, opts)
  17. }