diff options
| author | LE Manh Cuong <cuong.manhle.vn@gmail.com> | 2018-12-17 11:06:30 +0700 |
|---|---|---|
| committer | Brad Fitzpatrick <bradfitz@golang.org> | 2019-03-02 05:42:50 +0000 |
| commit | 2889332edfb90d70827fa714b0fa40a28b0621b5 (patch) | |
| tree | b30d8fcdec41e8b9445ef6ab602b29a9ba22f074 /src | |
| parent | 342764a21606ba6f964400cc747ee6c9a88fc959 (diff) | |
| download | go-2889332edfb90d70827fa714b0fa40a28b0621b5.tar.xz | |
net/http: make TimeoutHandler's ResponseWriter implement Pusher
Fixes #29193
Change-Id: I03088205e51036abbc861ab5b7d141327b0429ae
Reviewed-on: https://go-review.googlesource.com/c/154383
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src')
| -rw-r--r-- | src/net/http/server.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/net/http/server.go b/src/net/http/server.go index e68ec2f01e..9ae0bbff14 100644 --- a/src/net/http/server.go +++ b/src/net/http/server.go @@ -3223,6 +3223,25 @@ type timeoutWriter struct { code int } +var _ Pusher = (*timeoutWriter)(nil) +var _ Flusher = (*timeoutWriter)(nil) + +// Push implements the Pusher interface. +func (tw *timeoutWriter) Push(target string, opts *PushOptions) error { + if pusher, ok := tw.w.(Pusher); ok { + return pusher.Push(target, opts) + } + return ErrNotSupported +} + +// Flush implements the Flusher interface. +func (tw *timeoutWriter) Flush() { + f, ok := tw.w.(Flusher) + if ok { + f.Flush() + } +} + func (tw *timeoutWriter) Header() Header { return tw.h } func (tw *timeoutWriter) Write(p []byte) (int, error) { |
