const closeNotifier … const flusher … const hijacker … const readerFrom … const pusher … type delegator … type responseWriterDelegator … func (r *responseWriterDelegator) Status() int { … } func (r *responseWriterDelegator) Written() int64 { … } func (r *responseWriterDelegator) WriteHeader(code int) { … } func (r *responseWriterDelegator) Write(b []byte) (int, error) { … } type closeNotifierDelegator … type flusherDelegator … type hijackerDelegator … type readerFromDelegator … type pusherDelegator … func (d closeNotifierDelegator) CloseNotify() <-chan bool { … } func (d flusherDelegator) Flush() { … } func (d hijackerDelegator) Hijack() (net.Conn, *bufio.ReadWriter, error) { … } func (d readerFromDelegator) ReadFrom(re io.Reader) (int64, error) { … } func (d pusherDelegator) Push(target string, opts *http.PushOptions) error { … } var pickDelegator … func init() { … } func newDelegator(w http.ResponseWriter, observeWriteHeaderFunc func(int)) delegator { … }