diff --git a/api.go b/api.go index 854198f1f0..0c06b2e6d1 100644 --- a/api.go +++ b/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") wf := utils.NewWriteFlusher(w) + wf.Flush() if since != 0 { // If since, send previous events that happened after the timestamp for _, event := range srv.events { diff --git a/utils/utils.go b/utils/utils.go index d53094397f..cadd095031 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -695,6 +695,13 @@ func (wf *WriteFlusher) Write(b []byte) (n int, err error) { 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 { var flusher http.Flusher if f, ok := w.(http.Flusher); ok {