httputil/response.go
func BindResponseWriter(w io.Writer, c *core.Context, before ...func([]byte)) {
	c.ResponseWriter = responseWriterBinder{w, c.ResponseWriter, before}
}
func BindResponseWriter(w io.Writer, c *core.Context, before ...func([]byte)) {
	c.ResponseWriter = responseWriterBinder{w, c.ResponseWriter, before}
}
// BindResponseWriter catches a downstream response writing and transfer its content to the writer w (that will normally take care to use the original ResponseWriter).
// The before variadic is a set of functions that will be triggered just before writing the response.