Add Pusher() function for support http2 server push (#1273)

gin already support http2, while previously not support server push.
Add Pusher() function to extend the ResponseWriter interface.

```golang
// get http.Pusher
 if pusher := c.Writer.Pusher(); pusher != nil {
     // use pusher.Push() to do server push
}
```
<img width="881" alt="screen shot 2018-03-07 at 11 20 49 pm" src="https://user-images.githubusercontent.com/16014993/37100619-680c00c6-225e-11e8-9352-76ec3bd62894.png">
This commit is contained in:
htobenothing
2018-06-21 09:53:52 +08:00
committed by Bo-Yi Wu
parent 87d536c001
commit bf85b32c1d
9 changed files with 177 additions and 1 deletions

View File

@ -16,7 +16,7 @@ const (
defaultStatus = 200
)
type ResponseWriter interface {
type responseWriterBase interface {
http.ResponseWriter
http.Hijacker
http.Flusher