| 181 | } |
| 182 | |
| 183 | func (w *gzipResponseWriter) Flush() { |
| 184 | if !w.minLengthExceeded { |
| 185 | // Enforce compression because we will not know how much more data will come |
| 186 | w.minLengthExceeded = true |
| 187 | w.Header().Set(echo.HeaderContentEncoding, gzipScheme) // Issue #806 |
| 188 | if w.wroteHeader { |
| 189 | w.ResponseWriter.WriteHeader(w.code) |
| 190 | } |
| 191 | |
| 192 | _, _ = w.Writer.Write(w.buffer.Bytes()) |
| 193 | } |
| 194 | |
| 195 | if gw, ok := w.Writer.(*gzip.Writer); ok { |
| 196 | gw.Flush() |
| 197 | } |
| 198 | _ = http.NewResponseController(w.ResponseWriter).Flush() |
| 199 | } |
| 200 | |
| 201 | func (w *gzipResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) { |
| 202 | return http.NewResponseController(w.ResponseWriter).Hijack() |