mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Added explicit Flush method to utils.WriteFlusher
This commit is contained in:
parent
dd9f4524d1
commit
a963ff5d8d
2 changed files with 12 additions and 5 deletions
10
api.go
10
api.go
|
@ -72,12 +72,12 @@ func httpError(w http.ResponseWriter, err error) {
|
||||||
statusCode = http.StatusUnauthorized
|
statusCode = http.StatusUnauthorized
|
||||||
} else if strings.Contains(err.Error(), "hasn't been activated") {
|
} else if strings.Contains(err.Error(), "hasn't been activated") {
|
||||||
statusCode = http.StatusForbidden
|
statusCode = http.StatusForbidden
|
||||||
}
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
utils.Errorf("HTTP Error: statusCode=%d %s", statusCode, err.Error())
|
utils.Errorf("HTTP Error: statusCode=%d %s", statusCode, err.Error())
|
||||||
http.Error(w, err.Error(), statusCode)
|
http.Error(w, err.Error(), statusCode)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeJSON(w http.ResponseWriter, code int, v interface{}) error {
|
func writeJSON(w http.ResponseWriter, code int, v interface{}) error {
|
||||||
|
@ -236,7 +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.Write([]byte{})
|
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 {
|
||||||
|
|
|
@ -616,6 +616,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
Reference in a new issue