X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/644f5de63e2b8b02e054fcbb3e9af39560cffae3..78eedab0a2feadc7877529ac4ce65ccaaf4db768:/sdk/go/httpserver/responsewriter.go diff --git a/sdk/go/httpserver/responsewriter.go b/sdk/go/httpserver/responsewriter.go index f17bc820a9..8dea759ccb 100644 --- a/sdk/go/httpserver/responsewriter.go +++ b/sdk/go/httpserver/responsewriter.go @@ -28,12 +28,22 @@ func WrapResponseWriter(orig http.ResponseWriter) ResponseWriter { return &responseWriter{ResponseWriter: orig} } +func (w *responseWriter) CloseNotify() <-chan bool { + if cn, ok := w.ResponseWriter.(http.CloseNotifier); ok { + return cn.CloseNotify() + } + return nil +} + func (w *responseWriter) WriteHeader(s int) { w.wroteStatus = s w.ResponseWriter.WriteHeader(s) } func (w *responseWriter) Write(data []byte) (n int, err error) { + if w.wroteStatus == 0 { + w.WriteHeader(http.StatusOK) + } n, err = w.ResponseWriter.Write(data) w.wroteBodyBytes += n w.err = err