func Flush(rw http.ResponseWriter) (ok bool) {
	w := ReclaimResponseWriter(rw)
	if fl, is := w.(http.Flusher); is {
		fl.Flush()
		return true
	}
	return false
}
Flush is a helper that flushes the buffer in the  underlying response writer if it is a http.Flusher.
The http.ResponseWriter might also be a Contexter if it allows the retrieval of the underlying
ResponseWriter. Ok returns if the underlying ResponseWriter was a http.Flusher
package wrap
import (
	"bufio"
	"net"
	"net/http"
)
type Contexter interface {
	http.ResponseWriter
	Context(ctxPtr interface{}) (found bool)
	SetContext(ctxPtr interface{})
}
func ReclaimResponseWriter(rw http.ResponseWriter) http.ResponseWriter {
	ctx, ok := rw.(Contexter)
	if !ok {
		return rw
	}
	var w http.ResponseWriter
	ctx.Context(&w)
	return w
}