mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Merge pull request #2427 from thequux/send-headers-immediately
Make /events API send headers immediately
This commit is contained in:
commit
2a0efb2324
2 changed files with 8 additions and 0 deletions
1
api.go
1
api.go
|
@ -236,6 +236,7 @@ func getEvents(srv *Server, version float64, w http.ResponseWriter, r *http.Requ
|
||||||
}
|
}
|
||||||
w.Header().Set("Content-Type", "application/json")
|
w.Header().Set("Content-Type", "application/json")
|
||||||
wf := utils.NewWriteFlusher(w)
|
wf := utils.NewWriteFlusher(w)
|
||||||
|
wf.Flush()
|
||||||
if since != 0 {
|
if since != 0 {
|
||||||
// If since, send previous events that happened after the timestamp
|
// If since, send previous events that happened after the timestamp
|
||||||
for _, event := range srv.events {
|
for _, event := range srv.events {
|
||||||
|
|
|
@ -695,6 +695,13 @@ func (wf *WriteFlusher) Write(b []byte) (n int, err error) {
|
||||||
return n, err
|
return n, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Flush the stream immediately.
|
||||||
|
func (wf *WriteFlusher) Flush() {
|
||||||
|
wf.Lock()
|
||||||
|
defer wf.Unlock()
|
||||||
|
wf.flusher.Flush()
|
||||||
|
}
|
||||||
|
|
||||||
func NewWriteFlusher(w io.Writer) *WriteFlusher {
|
func NewWriteFlusher(w io.Writer) *WriteFlusher {
|
||||||
var flusher http.Flusher
|
var flusher http.Flusher
|
||||||
if f, ok := w.(http.Flusher); ok {
|
if f, ok := w.(http.Flusher); ok {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue