From 753188bc989bd0665c961201a81a0d91ff87be8a Mon Sep 17 00:00:00 2001 From: Daniel Krom Date: Mon, 12 Feb 2018 21:52:44 +0200 Subject: [PATCH] Added stream flag indicates if client disconnected in middle of streaming --- context.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/context.go b/context.go index 90d4c6e59e..e653a76320 100644 --- a/context.go +++ b/context.go @@ -722,18 +722,19 @@ func (c *Context) SSEvent(name string, message interface{}) { }) } -func (c *Context) Stream(step func(w io.Writer) bool) { +// Returns a boolean indicates "Is client disconnected in middle of stream" +func (c *Context) Stream(step func(w io.Writer) bool) bool { w := c.Writer clientGone := w.CloseNotify() for { select { case <-clientGone: - return + return true default: keepOpen := step(w) w.Flush() if !keepOpen { - return + return false } } }