From 56b12df88c957088ad8a30c0a5bd76cf9ed40f77 Mon Sep 17 00:00:00 2001 From: warnar boekkooi Date: Thu, 21 May 2026 13:33:06 +0200 Subject: [PATCH 1/8] feat: add support for io.StringWriter The interface was added to the io package in go 1.12. Related to: - https://go.dev/doc/go1.12#iopkgio - https://github.com/golang/go/commit/33d531dfa49b7477dd51b54b870508b8b7eafee2 --- codegen/main.go | 41 +- wrap_generated_lt_1.12.go | 2781 +++++++ wrap_generated_lt_1.12_test.go | 12303 +++++++++++++++++++++++++++++++ 3 files changed, 15114 insertions(+), 11 deletions(-) create mode 100644 wrap_generated_lt_1.12.go create mode 100644 wrap_generated_lt_1.12_test.go diff --git a/codegen/main.go b/codegen/main.go index 98bae98..c6fa462 100644 --- a/codegen/main.go +++ b/codegen/main.go @@ -343,6 +343,28 @@ func main() { }, }, } + ifaces_gteq_1_8 := append( + ifaces, + &Interface{ + Name: "http.Pusher", + Funcs: []*InterfaceFunc{ + {"Push", FuncArgs{ + {"target", "string"}, + {"opts", "*http.PushOptions"}, + }, "error"}, + }, + }, + ) + + ifaces_gteq_1_12 := append( + ifaces_gteq_1_8, + &Interface{ + Name: "io.StringWriter", + Funcs: []*InterfaceFunc{ + {"WriteString", FuncArgs{{"s", "string"}}, "int, error"}, + }, + }, + ) builds := []Build{ { Suffix: "lt_1.8", @@ -350,17 +372,14 @@ func main() { Interfaces: ifaces, }, { - Suffix: "gteq_1.8", - Tags: "go1.8", - Interfaces: append(ifaces, &Interface{ - Name: "http.Pusher", - Funcs: []*InterfaceFunc{ - {"Push", FuncArgs{ - {"target", "string"}, - {"opts", "*http.PushOptions"}, - }, "error"}, - }, - }), + Suffix: "gteq_1.8", + Tags: "go1.8", + Interfaces: ifaces_gteq_1_8, + }, + { + Suffix: "lt_1.12", + Tags: "!go1.12", + Interfaces: ifaces_gteq_1_12, }, } for _, build := range builds { diff --git a/wrap_generated_lt_1.12.go b/wrap_generated_lt_1.12.go new file mode 100644 index 0000000..101db57 --- /dev/null +++ b/wrap_generated_lt_1.12.go @@ -0,0 +1,2781 @@ +//go:build !go1.12 +// +build !go1.12 + +// Code generated by "httpsnoop/codegen"; DO NOT EDIT. + +package httpsnoop + +import ( + "bufio" + "io" + "net" + "net/http" + "time" +) + +// HeaderFunc is part of the http.ResponseWriter interface. +type HeaderFunc func() http.Header + +// WriteHeaderFunc is part of the http.ResponseWriter interface. +type WriteHeaderFunc func(code int) + +// WriteFunc is part of the http.ResponseWriter interface. +type WriteFunc func(b []byte) (int, error) + +// FlushFunc is part of the http.Flusher interface. +type FlushFunc func() + +// CloseNotifyFunc is part of the http.CloseNotifier interface. +type CloseNotifyFunc func() <-chan bool + +// HijackFunc is part of the http.Hijacker interface. +type HijackFunc func() (net.Conn, *bufio.ReadWriter, error) + +// ReadFromFunc is part of the io.ReaderFrom interface. +type ReadFromFunc func(src io.Reader) (int64, error) + +// SetReadDeadlineFunc is part of the deadliner interface. +type SetReadDeadlineFunc func(deadline time.Time) error + +// SetWriteDeadlineFunc is part of the deadliner interface. +type SetWriteDeadlineFunc func(deadline time.Time) error + +// EnableFullDuplexFunc is part of the fullDuplexEnabler interface. +type EnableFullDuplexFunc func() error + +// PushFunc is part of the http.Pusher interface. +type PushFunc func(target string, opts *http.PushOptions) error + +// WriteStringFunc is part of the io.StringWriter interface. +type WriteStringFunc func(s string) (int, error) + +// Hooks defines a set of method interceptors for methods included in +// http.ResponseWriter as well as some others. You can think of them as +// middleware for the function calls they target. See Wrap for more details. +type Hooks struct { + Header func(HeaderFunc) HeaderFunc + WriteHeader func(WriteHeaderFunc) WriteHeaderFunc + Write func(WriteFunc) WriteFunc + Flush func(FlushFunc) FlushFunc + CloseNotify func(CloseNotifyFunc) CloseNotifyFunc + Hijack func(HijackFunc) HijackFunc + ReadFrom func(ReadFromFunc) ReadFromFunc + SetReadDeadline func(SetReadDeadlineFunc) SetReadDeadlineFunc + SetWriteDeadline func(SetWriteDeadlineFunc) SetWriteDeadlineFunc + EnableFullDuplex func(EnableFullDuplexFunc) EnableFullDuplexFunc + Push func(PushFunc) PushFunc + WriteString func(WriteStringFunc) WriteStringFunc +} + +// Wrap returns a wrapped version of w that provides the exact same interface +// as w. Specifically if w implements any combination of: +// +// - http.Flusher +// - http.CloseNotifier +// - http.Hijacker +// - io.ReaderFrom +// - deadliner +// - fullDuplexEnabler +// - http.Pusher +// - io.StringWriter +// +// The wrapped version will implement the exact same combination. If no hooks +// are set, the wrapped version also behaves exactly as w. Hooks targeting +// methods not supported by w are ignored. Any other hooks will intercept the +// method they target and may modify the call's arguments and/or return values. +// The CaptureMetrics implementation serves as a working example for how the +// hooks can be used. +func Wrap(w http.ResponseWriter, hooks Hooks) http.ResponseWriter { + rw := &rw{w: w, h: hooks} + _, i0 := w.(http.Flusher) + _, i1 := w.(http.CloseNotifier) + _, i2 := w.(http.Hijacker) + _, i3 := w.(io.ReaderFrom) + _, i4 := w.(deadliner) + _, i5 := w.(fullDuplexEnabler) + _, i6 := w.(http.Pusher) + _, i7 := w.(io.StringWriter) + switch { + // combination 1/256 + case !i0 && !i1 && !i2 && !i3 && !i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + }{rw, rw} + // combination 2/256 + case !i0 && !i1 && !i2 && !i3 && !i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + io.StringWriter + }{rw, rw, rw} + // combination 3/256 + case !i0 && !i1 && !i2 && !i3 && !i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Pusher + }{rw, rw, rw} + // combination 4/256 + case !i0 && !i1 && !i2 && !i3 && !i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Pusher + io.StringWriter + }{rw, rw, rw, rw} + // combination 5/256 + case !i0 && !i1 && !i2 && !i3 && !i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + fullDuplexEnabler + }{rw, rw, rw} + // combination 6/256 + case !i0 && !i1 && !i2 && !i3 && !i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw} + // combination 7/256 + case !i0 && !i1 && !i2 && !i3 && !i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw} + // combination 8/256 + case !i0 && !i1 && !i2 && !i3 && !i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw} + // combination 9/256 + case !i0 && !i1 && !i2 && !i3 && i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + deadliner + }{rw, rw, rw} + // combination 10/256 + case !i0 && !i1 && !i2 && !i3 && i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + deadliner + io.StringWriter + }{rw, rw, rw, rw} + // combination 11/256 + case !i0 && !i1 && !i2 && !i3 && i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + deadliner + http.Pusher + }{rw, rw, rw, rw} + // combination 12/256 + case !i0 && !i1 && !i2 && !i3 && i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + deadliner + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw} + // combination 13/256 + case !i0 && !i1 && !i2 && !i3 && i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + deadliner + fullDuplexEnabler + }{rw, rw, rw, rw} + // combination 14/256 + case !i0 && !i1 && !i2 && !i3 && i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + deadliner + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw} + // combination 15/256 + case !i0 && !i1 && !i2 && !i3 && i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + deadliner + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw} + // combination 16/256 + case !i0 && !i1 && !i2 && !i3 && i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 17/256 + case !i0 && !i1 && !i2 && i3 && !i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + io.ReaderFrom + }{rw, rw, rw} + // combination 18/256 + case !i0 && !i1 && !i2 && i3 && !i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + io.ReaderFrom + io.StringWriter + }{rw, rw, rw, rw} + // combination 19/256 + case !i0 && !i1 && !i2 && i3 && !i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + io.ReaderFrom + http.Pusher + }{rw, rw, rw, rw} + // combination 20/256 + case !i0 && !i1 && !i2 && i3 && !i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + io.ReaderFrom + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw} + // combination 21/256 + case !i0 && !i1 && !i2 && i3 && !i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + io.ReaderFrom + fullDuplexEnabler + }{rw, rw, rw, rw} + // combination 22/256 + case !i0 && !i1 && !i2 && i3 && !i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + io.ReaderFrom + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw} + // combination 23/256 + case !i0 && !i1 && !i2 && i3 && !i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + io.ReaderFrom + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw} + // combination 24/256 + case !i0 && !i1 && !i2 && i3 && !i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + io.ReaderFrom + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 25/256 + case !i0 && !i1 && !i2 && i3 && i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + io.ReaderFrom + deadliner + }{rw, rw, rw, rw} + // combination 26/256 + case !i0 && !i1 && !i2 && i3 && i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + io.ReaderFrom + deadliner + io.StringWriter + }{rw, rw, rw, rw, rw} + // combination 27/256 + case !i0 && !i1 && !i2 && i3 && i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + io.ReaderFrom + deadliner + http.Pusher + }{rw, rw, rw, rw, rw} + // combination 28/256 + case !i0 && !i1 && !i2 && i3 && i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + io.ReaderFrom + deadliner + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 29/256 + case !i0 && !i1 && !i2 && i3 && i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + io.ReaderFrom + deadliner + fullDuplexEnabler + }{rw, rw, rw, rw, rw} + // combination 30/256 + case !i0 && !i1 && !i2 && i3 && i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + io.ReaderFrom + deadliner + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 31/256 + case !i0 && !i1 && !i2 && i3 && i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw} + // combination 32/256 + case !i0 && !i1 && !i2 && i3 && i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 33/256 + case !i0 && !i1 && i2 && !i3 && !i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + }{rw, rw, rw} + // combination 34/256 + case !i0 && !i1 && i2 && !i3 && !i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + io.StringWriter + }{rw, rw, rw, rw} + // combination 35/256 + case !i0 && !i1 && i2 && !i3 && !i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + http.Pusher + }{rw, rw, rw, rw} + // combination 36/256 + case !i0 && !i1 && i2 && !i3 && !i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw} + // combination 37/256 + case !i0 && !i1 && i2 && !i3 && !i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + fullDuplexEnabler + }{rw, rw, rw, rw} + // combination 38/256 + case !i0 && !i1 && i2 && !i3 && !i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw} + // combination 39/256 + case !i0 && !i1 && i2 && !i3 && !i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw} + // combination 40/256 + case !i0 && !i1 && i2 && !i3 && !i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 41/256 + case !i0 && !i1 && i2 && !i3 && i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + deadliner + }{rw, rw, rw, rw} + // combination 42/256 + case !i0 && !i1 && i2 && !i3 && i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + deadliner + io.StringWriter + }{rw, rw, rw, rw, rw} + // combination 43/256 + case !i0 && !i1 && i2 && !i3 && i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + deadliner + http.Pusher + }{rw, rw, rw, rw, rw} + // combination 44/256 + case !i0 && !i1 && i2 && !i3 && i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + deadliner + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 45/256 + case !i0 && !i1 && i2 && !i3 && i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + deadliner + fullDuplexEnabler + }{rw, rw, rw, rw, rw} + // combination 46/256 + case !i0 && !i1 && i2 && !i3 && i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + deadliner + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 47/256 + case !i0 && !i1 && i2 && !i3 && i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + deadliner + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw} + // combination 48/256 + case !i0 && !i1 && i2 && !i3 && i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 49/256 + case !i0 && !i1 && i2 && i3 && !i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + io.ReaderFrom + }{rw, rw, rw, rw} + // combination 50/256 + case !i0 && !i1 && i2 && i3 && !i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + io.ReaderFrom + io.StringWriter + }{rw, rw, rw, rw, rw} + // combination 51/256 + case !i0 && !i1 && i2 && i3 && !i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + io.ReaderFrom + http.Pusher + }{rw, rw, rw, rw, rw} + // combination 52/256 + case !i0 && !i1 && i2 && i3 && !i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + io.ReaderFrom + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 53/256 + case !i0 && !i1 && i2 && i3 && !i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + }{rw, rw, rw, rw, rw} + // combination 54/256 + case !i0 && !i1 && i2 && i3 && !i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 55/256 + case !i0 && !i1 && i2 && i3 && !i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw} + // combination 56/256 + case !i0 && !i1 && i2 && i3 && !i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 57/256 + case !i0 && !i1 && i2 && i3 && i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + io.ReaderFrom + deadliner + }{rw, rw, rw, rw, rw} + // combination 58/256 + case !i0 && !i1 && i2 && i3 && i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + io.ReaderFrom + deadliner + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 59/256 + case !i0 && !i1 && i2 && i3 && i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + io.ReaderFrom + deadliner + http.Pusher + }{rw, rw, rw, rw, rw, rw} + // combination 60/256 + case !i0 && !i1 && i2 && i3 && i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + io.ReaderFrom + deadliner + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 61/256 + case !i0 && !i1 && i2 && i3 && i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + }{rw, rw, rw, rw, rw, rw} + // combination 62/256 + case !i0 && !i1 && i2 && i3 && i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 63/256 + case !i0 && !i1 && i2 && i3 && i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw} + // combination 64/256 + case !i0 && !i1 && i2 && i3 && i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 65/256 + case !i0 && i1 && !i2 && !i3 && !i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + }{rw, rw, rw} + // combination 66/256 + case !i0 && i1 && !i2 && !i3 && !i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + io.StringWriter + }{rw, rw, rw, rw} + // combination 67/256 + case !i0 && i1 && !i2 && !i3 && !i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Pusher + }{rw, rw, rw, rw} + // combination 68/256 + case !i0 && i1 && !i2 && !i3 && !i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw} + // combination 69/256 + case !i0 && i1 && !i2 && !i3 && !i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + fullDuplexEnabler + }{rw, rw, rw, rw} + // combination 70/256 + case !i0 && i1 && !i2 && !i3 && !i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw} + // combination 71/256 + case !i0 && i1 && !i2 && !i3 && !i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw} + // combination 72/256 + case !i0 && i1 && !i2 && !i3 && !i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 73/256 + case !i0 && i1 && !i2 && !i3 && i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + deadliner + }{rw, rw, rw, rw} + // combination 74/256 + case !i0 && i1 && !i2 && !i3 && i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + deadliner + io.StringWriter + }{rw, rw, rw, rw, rw} + // combination 75/256 + case !i0 && i1 && !i2 && !i3 && i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + deadliner + http.Pusher + }{rw, rw, rw, rw, rw} + // combination 76/256 + case !i0 && i1 && !i2 && !i3 && i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + deadliner + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 77/256 + case !i0 && i1 && !i2 && !i3 && i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + deadliner + fullDuplexEnabler + }{rw, rw, rw, rw, rw} + // combination 78/256 + case !i0 && i1 && !i2 && !i3 && i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + deadliner + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 79/256 + case !i0 && i1 && !i2 && !i3 && i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + deadliner + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw} + // combination 80/256 + case !i0 && i1 && !i2 && !i3 && i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 81/256 + case !i0 && i1 && !i2 && i3 && !i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + }{rw, rw, rw, rw} + // combination 82/256 + case !i0 && i1 && !i2 && i3 && !i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + io.StringWriter + }{rw, rw, rw, rw, rw} + // combination 83/256 + case !i0 && i1 && !i2 && i3 && !i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + http.Pusher + }{rw, rw, rw, rw, rw} + // combination 84/256 + case !i0 && i1 && !i2 && i3 && !i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 85/256 + case !i0 && i1 && !i2 && i3 && !i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + fullDuplexEnabler + }{rw, rw, rw, rw, rw} + // combination 86/256 + case !i0 && i1 && !i2 && i3 && !i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 87/256 + case !i0 && i1 && !i2 && i3 && !i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw} + // combination 88/256 + case !i0 && i1 && !i2 && i3 && !i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 89/256 + case !i0 && i1 && !i2 && i3 && i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + deadliner + }{rw, rw, rw, rw, rw} + // combination 90/256 + case !i0 && i1 && !i2 && i3 && i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + deadliner + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 91/256 + case !i0 && i1 && !i2 && i3 && i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + deadliner + http.Pusher + }{rw, rw, rw, rw, rw, rw} + // combination 92/256 + case !i0 && i1 && !i2 && i3 && i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + deadliner + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 93/256 + case !i0 && i1 && !i2 && i3 && i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + deadliner + fullDuplexEnabler + }{rw, rw, rw, rw, rw, rw} + // combination 94/256 + case !i0 && i1 && !i2 && i3 && i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + deadliner + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 95/256 + case !i0 && i1 && !i2 && i3 && i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw} + // combination 96/256 + case !i0 && i1 && !i2 && i3 && i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 97/256 + case !i0 && i1 && i2 && !i3 && !i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + }{rw, rw, rw, rw} + // combination 98/256 + case !i0 && i1 && i2 && !i3 && !i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.StringWriter + }{rw, rw, rw, rw, rw} + // combination 99/256 + case !i0 && i1 && i2 && !i3 && !i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + http.Pusher + }{rw, rw, rw, rw, rw} + // combination 100/256 + case !i0 && i1 && i2 && !i3 && !i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 101/256 + case !i0 && i1 && i2 && !i3 && !i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + fullDuplexEnabler + }{rw, rw, rw, rw, rw} + // combination 102/256 + case !i0 && i1 && i2 && !i3 && !i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 103/256 + case !i0 && i1 && i2 && !i3 && !i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw} + // combination 104/256 + case !i0 && i1 && i2 && !i3 && !i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 105/256 + case !i0 && i1 && i2 && !i3 && i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + deadliner + }{rw, rw, rw, rw, rw} + // combination 106/256 + case !i0 && i1 && i2 && !i3 && i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + deadliner + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 107/256 + case !i0 && i1 && i2 && !i3 && i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + deadliner + http.Pusher + }{rw, rw, rw, rw, rw, rw} + // combination 108/256 + case !i0 && i1 && i2 && !i3 && i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + deadliner + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 109/256 + case !i0 && i1 && i2 && !i3 && i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + deadliner + fullDuplexEnabler + }{rw, rw, rw, rw, rw, rw} + // combination 110/256 + case !i0 && i1 && i2 && !i3 && i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + deadliner + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 111/256 + case !i0 && i1 && i2 && !i3 && i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + deadliner + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw} + // combination 112/256 + case !i0 && i1 && i2 && !i3 && i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 113/256 + case !i0 && i1 && i2 && i3 && !i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + }{rw, rw, rw, rw, rw} + // combination 114/256 + case !i0 && i1 && i2 && i3 && !i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 115/256 + case !i0 && i1 && i2 && i3 && !i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + http.Pusher + }{rw, rw, rw, rw, rw, rw} + // combination 116/256 + case !i0 && i1 && i2 && i3 && !i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 117/256 + case !i0 && i1 && i2 && i3 && !i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + }{rw, rw, rw, rw, rw, rw} + // combination 118/256 + case !i0 && i1 && i2 && i3 && !i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 119/256 + case !i0 && i1 && i2 && i3 && !i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw} + // combination 120/256 + case !i0 && i1 && i2 && i3 && !i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 121/256 + case !i0 && i1 && i2 && i3 && i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + }{rw, rw, rw, rw, rw, rw} + // combination 122/256 + case !i0 && i1 && i2 && i3 && i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 123/256 + case !i0 && i1 && i2 && i3 && i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw} + // combination 124/256 + case !i0 && i1 && i2 && i3 && i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 125/256 + case !i0 && i1 && i2 && i3 && i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + }{rw, rw, rw, rw, rw, rw, rw} + // combination 126/256 + case !i0 && i1 && i2 && i3 && i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 127/256 + case !i0 && i1 && i2 && i3 && i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 128/256 + case !i0 && i1 && i2 && i3 && i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw, rw} + // combination 129/256 + case i0 && !i1 && !i2 && !i3 && !i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + }{rw, rw, rw} + // combination 130/256 + case i0 && !i1 && !i2 && !i3 && !i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + io.StringWriter + }{rw, rw, rw, rw} + // combination 131/256 + case i0 && !i1 && !i2 && !i3 && !i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Pusher + }{rw, rw, rw, rw} + // combination 132/256 + case i0 && !i1 && !i2 && !i3 && !i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw} + // combination 133/256 + case i0 && !i1 && !i2 && !i3 && !i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + fullDuplexEnabler + }{rw, rw, rw, rw} + // combination 134/256 + case i0 && !i1 && !i2 && !i3 && !i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw} + // combination 135/256 + case i0 && !i1 && !i2 && !i3 && !i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw} + // combination 136/256 + case i0 && !i1 && !i2 && !i3 && !i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 137/256 + case i0 && !i1 && !i2 && !i3 && i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + deadliner + }{rw, rw, rw, rw} + // combination 138/256 + case i0 && !i1 && !i2 && !i3 && i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + deadliner + io.StringWriter + }{rw, rw, rw, rw, rw} + // combination 139/256 + case i0 && !i1 && !i2 && !i3 && i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + deadliner + http.Pusher + }{rw, rw, rw, rw, rw} + // combination 140/256 + case i0 && !i1 && !i2 && !i3 && i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + deadliner + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 141/256 + case i0 && !i1 && !i2 && !i3 && i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + deadliner + fullDuplexEnabler + }{rw, rw, rw, rw, rw} + // combination 142/256 + case i0 && !i1 && !i2 && !i3 && i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + deadliner + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 143/256 + case i0 && !i1 && !i2 && !i3 && i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + deadliner + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw} + // combination 144/256 + case i0 && !i1 && !i2 && !i3 && i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 145/256 + case i0 && !i1 && !i2 && i3 && !i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + io.ReaderFrom + }{rw, rw, rw, rw} + // combination 146/256 + case i0 && !i1 && !i2 && i3 && !i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + io.ReaderFrom + io.StringWriter + }{rw, rw, rw, rw, rw} + // combination 147/256 + case i0 && !i1 && !i2 && i3 && !i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + io.ReaderFrom + http.Pusher + }{rw, rw, rw, rw, rw} + // combination 148/256 + case i0 && !i1 && !i2 && i3 && !i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + io.ReaderFrom + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 149/256 + case i0 && !i1 && !i2 && i3 && !i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + io.ReaderFrom + fullDuplexEnabler + }{rw, rw, rw, rw, rw} + // combination 150/256 + case i0 && !i1 && !i2 && i3 && !i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + io.ReaderFrom + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 151/256 + case i0 && !i1 && !i2 && i3 && !i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + io.ReaderFrom + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw} + // combination 152/256 + case i0 && !i1 && !i2 && i3 && !i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + io.ReaderFrom + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 153/256 + case i0 && !i1 && !i2 && i3 && i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + io.ReaderFrom + deadliner + }{rw, rw, rw, rw, rw} + // combination 154/256 + case i0 && !i1 && !i2 && i3 && i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + io.ReaderFrom + deadliner + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 155/256 + case i0 && !i1 && !i2 && i3 && i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + io.ReaderFrom + deadliner + http.Pusher + }{rw, rw, rw, rw, rw, rw} + // combination 156/256 + case i0 && !i1 && !i2 && i3 && i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + io.ReaderFrom + deadliner + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 157/256 + case i0 && !i1 && !i2 && i3 && i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + io.ReaderFrom + deadliner + fullDuplexEnabler + }{rw, rw, rw, rw, rw, rw} + // combination 158/256 + case i0 && !i1 && !i2 && i3 && i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + io.ReaderFrom + deadliner + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 159/256 + case i0 && !i1 && !i2 && i3 && i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw} + // combination 160/256 + case i0 && !i1 && !i2 && i3 && i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 161/256 + case i0 && !i1 && i2 && !i3 && !i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + }{rw, rw, rw, rw} + // combination 162/256 + case i0 && !i1 && i2 && !i3 && !i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + io.StringWriter + }{rw, rw, rw, rw, rw} + // combination 163/256 + case i0 && !i1 && i2 && !i3 && !i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + http.Pusher + }{rw, rw, rw, rw, rw} + // combination 164/256 + case i0 && !i1 && i2 && !i3 && !i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 165/256 + case i0 && !i1 && i2 && !i3 && !i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + fullDuplexEnabler + }{rw, rw, rw, rw, rw} + // combination 166/256 + case i0 && !i1 && i2 && !i3 && !i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 167/256 + case i0 && !i1 && i2 && !i3 && !i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw} + // combination 168/256 + case i0 && !i1 && i2 && !i3 && !i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 169/256 + case i0 && !i1 && i2 && !i3 && i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + deadliner + }{rw, rw, rw, rw, rw} + // combination 170/256 + case i0 && !i1 && i2 && !i3 && i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + deadliner + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 171/256 + case i0 && !i1 && i2 && !i3 && i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + deadliner + http.Pusher + }{rw, rw, rw, rw, rw, rw} + // combination 172/256 + case i0 && !i1 && i2 && !i3 && i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + deadliner + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 173/256 + case i0 && !i1 && i2 && !i3 && i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + deadliner + fullDuplexEnabler + }{rw, rw, rw, rw, rw, rw} + // combination 174/256 + case i0 && !i1 && i2 && !i3 && i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + deadliner + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 175/256 + case i0 && !i1 && i2 && !i3 && i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + deadliner + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw} + // combination 176/256 + case i0 && !i1 && i2 && !i3 && i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 177/256 + case i0 && !i1 && i2 && i3 && !i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + }{rw, rw, rw, rw, rw} + // combination 178/256 + case i0 && !i1 && i2 && i3 && !i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 179/256 + case i0 && !i1 && i2 && i3 && !i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + http.Pusher + }{rw, rw, rw, rw, rw, rw} + // combination 180/256 + case i0 && !i1 && i2 && i3 && !i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 181/256 + case i0 && !i1 && i2 && i3 && !i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + }{rw, rw, rw, rw, rw, rw} + // combination 182/256 + case i0 && !i1 && i2 && i3 && !i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 183/256 + case i0 && !i1 && i2 && i3 && !i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw} + // combination 184/256 + case i0 && !i1 && i2 && i3 && !i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 185/256 + case i0 && !i1 && i2 && i3 && i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + deadliner + }{rw, rw, rw, rw, rw, rw} + // combination 186/256 + case i0 && !i1 && i2 && i3 && i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + deadliner + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 187/256 + case i0 && !i1 && i2 && i3 && i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + deadliner + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw} + // combination 188/256 + case i0 && !i1 && i2 && i3 && i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + deadliner + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 189/256 + case i0 && !i1 && i2 && i3 && i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + }{rw, rw, rw, rw, rw, rw, rw} + // combination 190/256 + case i0 && !i1 && i2 && i3 && i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 191/256 + case i0 && !i1 && i2 && i3 && i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 192/256 + case i0 && !i1 && i2 && i3 && i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw, rw} + // combination 193/256 + case i0 && i1 && !i2 && !i3 && !i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + }{rw, rw, rw, rw} + // combination 194/256 + case i0 && i1 && !i2 && !i3 && !i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.StringWriter + }{rw, rw, rw, rw, rw} + // combination 195/256 + case i0 && i1 && !i2 && !i3 && !i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Pusher + }{rw, rw, rw, rw, rw} + // combination 196/256 + case i0 && i1 && !i2 && !i3 && !i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 197/256 + case i0 && i1 && !i2 && !i3 && !i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + fullDuplexEnabler + }{rw, rw, rw, rw, rw} + // combination 198/256 + case i0 && i1 && !i2 && !i3 && !i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 199/256 + case i0 && i1 && !i2 && !i3 && !i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw} + // combination 200/256 + case i0 && i1 && !i2 && !i3 && !i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 201/256 + case i0 && i1 && !i2 && !i3 && i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + deadliner + }{rw, rw, rw, rw, rw} + // combination 202/256 + case i0 && i1 && !i2 && !i3 && i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + deadliner + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 203/256 + case i0 && i1 && !i2 && !i3 && i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + deadliner + http.Pusher + }{rw, rw, rw, rw, rw, rw} + // combination 204/256 + case i0 && i1 && !i2 && !i3 && i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + deadliner + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 205/256 + case i0 && i1 && !i2 && !i3 && i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + deadliner + fullDuplexEnabler + }{rw, rw, rw, rw, rw, rw} + // combination 206/256 + case i0 && i1 && !i2 && !i3 && i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + deadliner + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 207/256 + case i0 && i1 && !i2 && !i3 && i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + deadliner + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw} + // combination 208/256 + case i0 && i1 && !i2 && !i3 && i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 209/256 + case i0 && i1 && !i2 && i3 && !i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + }{rw, rw, rw, rw, rw} + // combination 210/256 + case i0 && i1 && !i2 && i3 && !i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 211/256 + case i0 && i1 && !i2 && i3 && !i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + http.Pusher + }{rw, rw, rw, rw, rw, rw} + // combination 212/256 + case i0 && i1 && !i2 && i3 && !i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 213/256 + case i0 && i1 && !i2 && i3 && !i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + fullDuplexEnabler + }{rw, rw, rw, rw, rw, rw} + // combination 214/256 + case i0 && i1 && !i2 && i3 && !i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 215/256 + case i0 && i1 && !i2 && i3 && !i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw} + // combination 216/256 + case i0 && i1 && !i2 && i3 && !i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 217/256 + case i0 && i1 && !i2 && i3 && i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + deadliner + }{rw, rw, rw, rw, rw, rw} + // combination 218/256 + case i0 && i1 && !i2 && i3 && i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + deadliner + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 219/256 + case i0 && i1 && !i2 && i3 && i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + deadliner + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw} + // combination 220/256 + case i0 && i1 && !i2 && i3 && i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + deadliner + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 221/256 + case i0 && i1 && !i2 && i3 && i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + deadliner + fullDuplexEnabler + }{rw, rw, rw, rw, rw, rw, rw} + // combination 222/256 + case i0 && i1 && !i2 && i3 && i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + deadliner + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 223/256 + case i0 && i1 && !i2 && i3 && i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 224/256 + case i0 && i1 && !i2 && i3 && i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw, rw} + // combination 225/256 + case i0 && i1 && i2 && !i3 && !i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + }{rw, rw, rw, rw, rw} + // combination 226/256 + case i0 && i1 && i2 && !i3 && !i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.StringWriter + }{rw, rw, rw, rw, rw, rw} + // combination 227/256 + case i0 && i1 && i2 && !i3 && !i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + http.Pusher + }{rw, rw, rw, rw, rw, rw} + // combination 228/256 + case i0 && i1 && i2 && !i3 && !i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 229/256 + case i0 && i1 && i2 && !i3 && !i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + fullDuplexEnabler + }{rw, rw, rw, rw, rw, rw} + // combination 230/256 + case i0 && i1 && i2 && !i3 && !i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 231/256 + case i0 && i1 && i2 && !i3 && !i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw} + // combination 232/256 + case i0 && i1 && i2 && !i3 && !i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 233/256 + case i0 && i1 && i2 && !i3 && i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + deadliner + }{rw, rw, rw, rw, rw, rw} + // combination 234/256 + case i0 && i1 && i2 && !i3 && i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + deadliner + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 235/256 + case i0 && i1 && i2 && !i3 && i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + deadliner + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw} + // combination 236/256 + case i0 && i1 && i2 && !i3 && i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + deadliner + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 237/256 + case i0 && i1 && i2 && !i3 && i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + deadliner + fullDuplexEnabler + }{rw, rw, rw, rw, rw, rw, rw} + // combination 238/256 + case i0 && i1 && i2 && !i3 && i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + deadliner + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 239/256 + case i0 && i1 && i2 && !i3 && i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + deadliner + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 240/256 + case i0 && i1 && i2 && !i3 && i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw, rw} + // combination 241/256 + case i0 && i1 && i2 && i3 && !i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + }{rw, rw, rw, rw, rw, rw} + // combination 242/256 + case i0 && i1 && i2 && i3 && !i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw} + // combination 243/256 + case i0 && i1 && i2 && i3 && !i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw} + // combination 244/256 + case i0 && i1 && i2 && i3 && !i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 245/256 + case i0 && i1 && i2 && i3 && !i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + }{rw, rw, rw, rw, rw, rw, rw} + // combination 246/256 + case i0 && i1 && i2 && i3 && !i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 247/256 + case i0 && i1 && i2 && i3 && !i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 248/256 + case i0 && i1 && i2 && i3 && !i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw, rw} + // combination 249/256 + case i0 && i1 && i2 && i3 && i4 && !i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + }{rw, rw, rw, rw, rw, rw, rw} + // combination 250/256 + case i0 && i1 && i2 && i3 && i4 && !i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 251/256 + case i0 && i1 && i2 && i3 && i4 && !i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 252/256 + case i0 && i1 && i2 && i3 && i4 && !i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw, rw} + // combination 253/256 + case i0 && i1 && i2 && i3 && i4 && i5 && !i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + }{rw, rw, rw, rw, rw, rw, rw, rw} + // combination 254/256 + case i0 && i1 && i2 && i3 && i4 && i5 && !i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw, rw} + // combination 255/256 + case i0 && i1 && i2 && i3 && i4 && i5 && i6 && !i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + }{rw, rw, rw, rw, rw, rw, rw, rw, rw} + // combination 256/256 + case i0 && i1 && i2 && i3 && i4 && i5 && i6 && i7: + return struct { + Unwrapper + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{rw, rw, rw, rw, rw, rw, rw, rw, rw, rw} + } + panic("unreachable") +} + +type rw struct { + w http.ResponseWriter + h Hooks +} + +func (w *rw) Unwrap() http.ResponseWriter { + return w.w +} + +func (w *rw) Header() http.Header { + f := w.w.(http.ResponseWriter).Header + if w.h.Header != nil { + f = w.h.Header(f) + } + return f() +} + +func (w *rw) WriteHeader(code int) { + f := w.w.(http.ResponseWriter).WriteHeader + if w.h.WriteHeader != nil { + f = w.h.WriteHeader(f) + } + f(code) +} + +func (w *rw) Write(b []byte) (int, error) { + f := w.w.(http.ResponseWriter).Write + if w.h.Write != nil { + f = w.h.Write(f) + } + return f(b) +} + +func (w *rw) Flush() { + f := w.w.(http.Flusher).Flush + if w.h.Flush != nil { + f = w.h.Flush(f) + } + f() +} + +func (w *rw) CloseNotify() <-chan bool { + f := w.w.(http.CloseNotifier).CloseNotify + if w.h.CloseNotify != nil { + f = w.h.CloseNotify(f) + } + return f() +} + +func (w *rw) Hijack() (net.Conn, *bufio.ReadWriter, error) { + f := w.w.(http.Hijacker).Hijack + if w.h.Hijack != nil { + f = w.h.Hijack(f) + } + return f() +} + +func (w *rw) ReadFrom(src io.Reader) (int64, error) { + f := w.w.(io.ReaderFrom).ReadFrom + if w.h.ReadFrom != nil { + f = w.h.ReadFrom(f) + } + return f(src) +} + +func (w *rw) SetReadDeadline(deadline time.Time) error { + f := w.w.(deadliner).SetReadDeadline + if w.h.SetReadDeadline != nil { + f = w.h.SetReadDeadline(f) + } + return f(deadline) +} + +func (w *rw) SetWriteDeadline(deadline time.Time) error { + f := w.w.(deadliner).SetWriteDeadline + if w.h.SetWriteDeadline != nil { + f = w.h.SetWriteDeadline(f) + } + return f(deadline) +} + +func (w *rw) EnableFullDuplex() error { + f := w.w.(fullDuplexEnabler).EnableFullDuplex + if w.h.EnableFullDuplex != nil { + f = w.h.EnableFullDuplex(f) + } + return f() +} + +func (w *rw) Push(target string, opts *http.PushOptions) error { + f := w.w.(http.Pusher).Push + if w.h.Push != nil { + f = w.h.Push(f) + } + return f(target, opts) +} + +func (w *rw) WriteString(s string) (int, error) { + f := w.w.(io.StringWriter).WriteString + if w.h.WriteString != nil { + f = w.h.WriteString(f) + } + return f(s) +} + +type Unwrapper interface { + Unwrap() http.ResponseWriter +} + +// Unwrap returns the underlying http.ResponseWriter from within zero or more +// layers of httpsnoop wrappers. +func Unwrap(w http.ResponseWriter) http.ResponseWriter { + if rw, ok := w.(Unwrapper); ok { + // recurse until rw.Unwrap() returns a non-Unwrapper + return Unwrap(rw.Unwrap()) + } else { + return w + } +} diff --git a/wrap_generated_lt_1.12_test.go b/wrap_generated_lt_1.12_test.go new file mode 100644 index 0000000..be91f16 --- /dev/null +++ b/wrap_generated_lt_1.12_test.go @@ -0,0 +1,12303 @@ +//go:build !go1.12 +// +build !go1.12 + +// Code generated by "httpsnoop/codegen"; DO NOT EDIT. + +package httpsnoop + +import ( + "io" + "net/http" + "testing" +) + +func TestWrap(t *testing.T) { + // combination 1/256 + { + t.Log("http.ResponseWriter") + inner := struct { + http.ResponseWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 2/256 + { + t.Log("http.ResponseWriter, io.StringWriter") + inner := struct { + http.ResponseWriter + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 3/256 + { + t.Log("http.ResponseWriter, http.Pusher") + inner := struct { + http.ResponseWriter + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 4/256 + { + t.Log("http.ResponseWriter, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 5/256 + { + t.Log("http.ResponseWriter, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 6/256 + { + t.Log("http.ResponseWriter, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 7/256 + { + t.Log("http.ResponseWriter, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 8/256 + { + t.Log("http.ResponseWriter, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 9/256 + { + t.Log("http.ResponseWriter, deadliner") + inner := struct { + http.ResponseWriter + deadliner + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 10/256 + { + t.Log("http.ResponseWriter, deadliner, io.StringWriter") + inner := struct { + http.ResponseWriter + deadliner + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 11/256 + { + t.Log("http.ResponseWriter, deadliner, http.Pusher") + inner := struct { + http.ResponseWriter + deadliner + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 12/256 + { + t.Log("http.ResponseWriter, deadliner, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + deadliner + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 13/256 + { + t.Log("http.ResponseWriter, deadliner, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + deadliner + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 14/256 + { + t.Log("http.ResponseWriter, deadliner, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + deadliner + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 15/256 + { + t.Log("http.ResponseWriter, deadliner, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + deadliner + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 16/256 + { + t.Log("http.ResponseWriter, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 17/256 + { + t.Log("http.ResponseWriter, io.ReaderFrom") + inner := struct { + http.ResponseWriter + io.ReaderFrom + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 18/256 + { + t.Log("http.ResponseWriter, io.ReaderFrom, io.StringWriter") + inner := struct { + http.ResponseWriter + io.ReaderFrom + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 19/256 + { + t.Log("http.ResponseWriter, io.ReaderFrom, http.Pusher") + inner := struct { + http.ResponseWriter + io.ReaderFrom + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 20/256 + { + t.Log("http.ResponseWriter, io.ReaderFrom, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + io.ReaderFrom + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 21/256 + { + t.Log("http.ResponseWriter, io.ReaderFrom, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + io.ReaderFrom + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 22/256 + { + t.Log("http.ResponseWriter, io.ReaderFrom, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + io.ReaderFrom + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 23/256 + { + t.Log("http.ResponseWriter, io.ReaderFrom, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + io.ReaderFrom + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 24/256 + { + t.Log("http.ResponseWriter, io.ReaderFrom, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + io.ReaderFrom + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 25/256 + { + t.Log("http.ResponseWriter, io.ReaderFrom, deadliner") + inner := struct { + http.ResponseWriter + io.ReaderFrom + deadliner + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 26/256 + { + t.Log("http.ResponseWriter, io.ReaderFrom, deadliner, io.StringWriter") + inner := struct { + http.ResponseWriter + io.ReaderFrom + deadliner + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 27/256 + { + t.Log("http.ResponseWriter, io.ReaderFrom, deadliner, http.Pusher") + inner := struct { + http.ResponseWriter + io.ReaderFrom + deadliner + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 28/256 + { + t.Log("http.ResponseWriter, io.ReaderFrom, deadliner, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + io.ReaderFrom + deadliner + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 29/256 + { + t.Log("http.ResponseWriter, io.ReaderFrom, deadliner, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + io.ReaderFrom + deadliner + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 30/256 + { + t.Log("http.ResponseWriter, io.ReaderFrom, deadliner, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + io.ReaderFrom + deadliner + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 31/256 + { + t.Log("http.ResponseWriter, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 32/256 + { + t.Log("http.ResponseWriter, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 33/256 + { + t.Log("http.ResponseWriter, http.Hijacker") + inner := struct { + http.ResponseWriter + http.Hijacker + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 34/256 + { + t.Log("http.ResponseWriter, http.Hijacker, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Hijacker + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 35/256 + { + t.Log("http.ResponseWriter, http.Hijacker, http.Pusher") + inner := struct { + http.ResponseWriter + http.Hijacker + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 36/256 + { + t.Log("http.ResponseWriter, http.Hijacker, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Hijacker + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 37/256 + { + t.Log("http.ResponseWriter, http.Hijacker, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.Hijacker + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 38/256 + { + t.Log("http.ResponseWriter, http.Hijacker, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Hijacker + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 39/256 + { + t.Log("http.ResponseWriter, http.Hijacker, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.Hijacker + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 40/256 + { + t.Log("http.ResponseWriter, http.Hijacker, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Hijacker + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 41/256 + { + t.Log("http.ResponseWriter, http.Hijacker, deadliner") + inner := struct { + http.ResponseWriter + http.Hijacker + deadliner + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 42/256 + { + t.Log("http.ResponseWriter, http.Hijacker, deadliner, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Hijacker + deadliner + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 43/256 + { + t.Log("http.ResponseWriter, http.Hijacker, deadliner, http.Pusher") + inner := struct { + http.ResponseWriter + http.Hijacker + deadliner + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 44/256 + { + t.Log("http.ResponseWriter, http.Hijacker, deadliner, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Hijacker + deadliner + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 45/256 + { + t.Log("http.ResponseWriter, http.Hijacker, deadliner, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.Hijacker + deadliner + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 46/256 + { + t.Log("http.ResponseWriter, http.Hijacker, deadliner, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Hijacker + deadliner + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 47/256 + { + t.Log("http.ResponseWriter, http.Hijacker, deadliner, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.Hijacker + deadliner + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 48/256 + { + t.Log("http.ResponseWriter, http.Hijacker, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Hijacker + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 49/256 + { + t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom") + inner := struct { + http.ResponseWriter + http.Hijacker + io.ReaderFrom + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 50/256 + { + t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Hijacker + io.ReaderFrom + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 51/256 + { + t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, http.Pusher") + inner := struct { + http.ResponseWriter + http.Hijacker + io.ReaderFrom + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 52/256 + { + t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Hijacker + io.ReaderFrom + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 53/256 + { + t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 54/256 + { + t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 55/256 + { + t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 56/256 + { + t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 57/256 + { + t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner") + inner := struct { + http.ResponseWriter + http.Hijacker + io.ReaderFrom + deadliner + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 58/256 + { + t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Hijacker + io.ReaderFrom + deadliner + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 59/256 + { + t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner, http.Pusher") + inner := struct { + http.ResponseWriter + http.Hijacker + io.ReaderFrom + deadliner + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 60/256 + { + t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Hijacker + io.ReaderFrom + deadliner + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 61/256 + { + t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 62/256 + { + t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 63/256 + { + t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 64/256 + { + t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 65/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier") + inner := struct { + http.ResponseWriter + http.CloseNotifier + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 66/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 67/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Pusher") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 68/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 69/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.CloseNotifier + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 70/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 71/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.CloseNotifier + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 72/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 73/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, deadliner") + inner := struct { + http.ResponseWriter + http.CloseNotifier + deadliner + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 74/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, deadliner, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + deadliner + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 75/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, deadliner, http.Pusher") + inner := struct { + http.ResponseWriter + http.CloseNotifier + deadliner + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 76/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, deadliner, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + deadliner + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 77/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, deadliner, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.CloseNotifier + deadliner + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 78/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, deadliner, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + deadliner + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 79/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, deadliner, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.CloseNotifier + deadliner + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 80/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 81/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom") + inner := struct { + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 82/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 83/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, http.Pusher") + inner := struct { + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 84/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 85/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 86/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 87/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 88/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 89/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner") + inner := struct { + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + deadliner + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 90/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + deadliner + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 91/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner, http.Pusher") + inner := struct { + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + deadliner + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 92/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + deadliner + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 93/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + deadliner + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 94/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + deadliner + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 95/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 96/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 97/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 98/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 99/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, http.Pusher") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 100/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 101/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 102/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 103/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 104/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 105/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + deadliner + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 106/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + deadliner + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 107/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner, http.Pusher") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + deadliner + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 108/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + deadliner + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 109/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + deadliner + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 110/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + deadliner + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 111/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + deadliner + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 112/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 113/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 114/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 115/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, http.Pusher") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 116/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 117/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 118/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 119/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 120/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 121/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 122/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 123/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, http.Pusher") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 124/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 125/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 126/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 127/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 128/256 + { + t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 129/256 + { + t.Log("http.ResponseWriter, http.Flusher") + inner := struct { + http.ResponseWriter + http.Flusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 130/256 + { + t.Log("http.ResponseWriter, http.Flusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 131/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 132/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 133/256 + { + t.Log("http.ResponseWriter, http.Flusher, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.Flusher + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 134/256 + { + t.Log("http.ResponseWriter, http.Flusher, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 135/256 + { + t.Log("http.ResponseWriter, http.Flusher, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 136/256 + { + t.Log("http.ResponseWriter, http.Flusher, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 137/256 + { + t.Log("http.ResponseWriter, http.Flusher, deadliner") + inner := struct { + http.ResponseWriter + http.Flusher + deadliner + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 138/256 + { + t.Log("http.ResponseWriter, http.Flusher, deadliner, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + deadliner + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 139/256 + { + t.Log("http.ResponseWriter, http.Flusher, deadliner, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + deadliner + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 140/256 + { + t.Log("http.ResponseWriter, http.Flusher, deadliner, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + deadliner + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 141/256 + { + t.Log("http.ResponseWriter, http.Flusher, deadliner, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.Flusher + deadliner + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 142/256 + { + t.Log("http.ResponseWriter, http.Flusher, deadliner, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + deadliner + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 143/256 + { + t.Log("http.ResponseWriter, http.Flusher, deadliner, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + deadliner + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 144/256 + { + t.Log("http.ResponseWriter, http.Flusher, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 145/256 + { + t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom") + inner := struct { + http.ResponseWriter + http.Flusher + io.ReaderFrom + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 146/256 + { + t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + io.ReaderFrom + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 147/256 + { + t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + io.ReaderFrom + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 148/256 + { + t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + io.ReaderFrom + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 149/256 + { + t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.Flusher + io.ReaderFrom + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 150/256 + { + t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + io.ReaderFrom + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 151/256 + { + t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + io.ReaderFrom + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 152/256 + { + t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + io.ReaderFrom + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 153/256 + { + t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner") + inner := struct { + http.ResponseWriter + http.Flusher + io.ReaderFrom + deadliner + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 154/256 + { + t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + io.ReaderFrom + deadliner + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 155/256 + { + t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + io.ReaderFrom + deadliner + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 156/256 + { + t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + io.ReaderFrom + deadliner + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 157/256 + { + t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.Flusher + io.ReaderFrom + deadliner + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 158/256 + { + t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + io.ReaderFrom + deadliner + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 159/256 + { + t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 160/256 + { + t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 161/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 162/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 163/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 164/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 165/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 166/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 167/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 168/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 169/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, deadliner") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + deadliner + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 170/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, deadliner, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + deadliner + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 171/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, deadliner, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + deadliner + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 172/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, deadliner, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + deadliner + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 173/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, deadliner, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + deadliner + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 174/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, deadliner, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + deadliner + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 175/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, deadliner, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + deadliner + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 176/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 177/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 178/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 179/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 180/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 181/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 182/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 183/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 184/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 185/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + deadliner + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 186/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + deadliner + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 187/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + deadliner + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 188/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + deadliner + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 189/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 190/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 191/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 192/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 193/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 194/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 195/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 196/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 197/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 198/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 199/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 200/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 201/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + deadliner + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 202/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + deadliner + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 203/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + deadliner + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 204/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + deadliner + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 205/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + deadliner + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 206/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + deadliner + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 207/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + deadliner + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 208/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 209/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 210/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 211/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 212/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 213/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 214/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 215/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 216/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 217/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + deadliner + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 218/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + deadliner + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 219/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + deadliner + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 220/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + deadliner + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 221/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + deadliner + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 222/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + deadliner + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 223/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 224/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 225/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 226/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 227/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 228/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 229/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 230/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 231/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 232/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 233/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + deadliner + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 234/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + deadliner + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 235/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + deadliner + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 236/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + deadliner + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 237/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + deadliner + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 238/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + deadliner + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 239/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + deadliner + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 240/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 241/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 242/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 243/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 244/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 245/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 246/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 247/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 248/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 249/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 250/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 251/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 252/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 253/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 254/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != false { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 255/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != false { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + + // combination 256/256 + { + t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter") + inner := struct { + http.ResponseWriter + http.Flusher + http.CloseNotifier + http.Hijacker + io.ReaderFrom + deadliner + fullDuplexEnabler + http.Pusher + io.StringWriter + }{} + w := Wrap(inner, Hooks{}) + if _, ok := w.(http.ResponseWriter); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Flusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.CloseNotifier); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Hijacker); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.ReaderFrom); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(deadliner); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(fullDuplexEnabler); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(http.Pusher); ok != true { + t.Error("unexpected interface") + } + if _, ok := w.(io.StringWriter); ok != true { + t.Error("unexpected interface") + } + + if w, ok := w.(Unwrapper); ok { + if w.Unwrap() != inner { + t.Error("w.Unwrap() failed") + } + } else { + t.Error("Unwrapper interface not implemented") + } + } + +} From 5700219cb8a70bbce75fcee8a0e46185ab3c86fd Mon Sep 17 00:00:00 2001 From: warnar boekkooi Date: Thu, 21 May 2026 14:06:27 +0200 Subject: [PATCH 2/8] chore: support go 1.25 and up Following the same policy as golang. See https://go.dev/doc/devel/release#policy --- .github/workflows/main.yaml | 5 +- codegen/main.go | 46 +- go.mod | 2 +- ..._generated_lt_1.12.go => wrap_generated.go | 3 - wrap_generated_gteq_1.8.go | 1423 ---- wrap_generated_gteq_1.8_test.go | 5711 ----------------- wrap_generated_lt_1.8.go | 769 --- wrap_generated_lt_1.8_test.go | 2639 -------- ..._lt_1.12_test.go => wrap_generated_test.go | 3 - 9 files changed, 19 insertions(+), 10582 deletions(-) rename wrap_generated_lt_1.12.go => wrap_generated.go (99%) delete mode 100644 wrap_generated_gteq_1.8.go delete mode 100644 wrap_generated_gteq_1.8_test.go delete mode 100644 wrap_generated_lt_1.8.go delete mode 100644 wrap_generated_lt_1.8_test.go rename wrap_generated_lt_1.12_test.go => wrap_generated_test.go (99%) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 70ad8a9..0ec9da4 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -5,9 +5,8 @@ jobs: strategy: matrix: go: - - 1.18.x - - 1.17.x - - 1.16.x + - 1.26.x + - 1.25.x os: - ubuntu-latest name: ${{ matrix.os }}/go${{ matrix.go }} diff --git a/codegen/main.go b/codegen/main.go index c6fa462..bb09de2 100644 --- a/codegen/main.go +++ b/codegen/main.go @@ -15,19 +15,25 @@ type Build struct { } func (b *Build) MustBuild() { - prefix := "wrap_generated_" - b.Implementation().MustWriteFile(prefix + b.Suffix + ".go") - b.Tests().MustWriteFile(prefix + b.Suffix + "_test.go") + prefix := "wrap_generated" + if b.Suffix != "" { + prefix += "_" + b.Suffix + } + + b.Implementation().MustWriteFile(prefix + ".go") + b.Tests().MustWriteFile(prefix + "_test.go") } func (b *Build) writeHeader(g *Generator) { - g.Printf(` -// +build %s -// Code generated by "httpsnoop/codegen"; DO NOT EDIT. + if b.Tags != "" { + g.Printf(`// +build %s +`, b.Tags) + } + g.buf.WriteString(`// Code generated by "httpsnoop/codegen"; DO NOT EDIT. package httpsnoop -`, b.Tags) +`) } func (b *Build) Implementation() *Generator { @@ -342,10 +348,7 @@ func main() { {"EnableFullDuplex", nil, "error"}, }, }, - } - ifaces_gteq_1_8 := append( - ifaces, - &Interface{ + { Name: "http.Pusher", Funcs: []*InterfaceFunc{ {"Push", FuncArgs{ @@ -353,34 +356,17 @@ func main() { {"opts", "*http.PushOptions"}, }, "error"}, }, - }, - ) - - ifaces_gteq_1_12 := append( - ifaces_gteq_1_8, - &Interface{ + }, { Name: "io.StringWriter", Funcs: []*InterfaceFunc{ {"WriteString", FuncArgs{{"s", "string"}}, "int, error"}, }, }, - ) + } builds := []Build{ { - Suffix: "lt_1.8", - Tags: "!go1.8", Interfaces: ifaces, }, - { - Suffix: "gteq_1.8", - Tags: "go1.8", - Interfaces: ifaces_gteq_1_8, - }, - { - Suffix: "lt_1.12", - Tags: "!go1.12", - Interfaces: ifaces_gteq_1_12, - }, } for _, build := range builds { build.MustBuild() diff --git a/go.mod b/go.mod index 73b3946..2342df8 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,3 @@ module github.com/felixge/httpsnoop -go 1.13 +go 1.25 diff --git a/wrap_generated_lt_1.12.go b/wrap_generated.go similarity index 99% rename from wrap_generated_lt_1.12.go rename to wrap_generated.go index 101db57..3e52eb0 100644 --- a/wrap_generated_lt_1.12.go +++ b/wrap_generated.go @@ -1,6 +1,3 @@ -//go:build !go1.12 -// +build !go1.12 - // Code generated by "httpsnoop/codegen"; DO NOT EDIT. package httpsnoop diff --git a/wrap_generated_gteq_1.8.go b/wrap_generated_gteq_1.8.go deleted file mode 100644 index 54eadcf..0000000 --- a/wrap_generated_gteq_1.8.go +++ /dev/null @@ -1,1423 +0,0 @@ -//go:build go1.8 -// +build go1.8 - -// Code generated by "httpsnoop/codegen"; DO NOT EDIT. - -package httpsnoop - -import ( - "bufio" - "io" - "net" - "net/http" - "time" -) - -// HeaderFunc is part of the http.ResponseWriter interface. -type HeaderFunc func() http.Header - -// WriteHeaderFunc is part of the http.ResponseWriter interface. -type WriteHeaderFunc func(code int) - -// WriteFunc is part of the http.ResponseWriter interface. -type WriteFunc func(b []byte) (int, error) - -// FlushFunc is part of the http.Flusher interface. -type FlushFunc func() - -// CloseNotifyFunc is part of the http.CloseNotifier interface. -type CloseNotifyFunc func() <-chan bool - -// HijackFunc is part of the http.Hijacker interface. -type HijackFunc func() (net.Conn, *bufio.ReadWriter, error) - -// ReadFromFunc is part of the io.ReaderFrom interface. -type ReadFromFunc func(src io.Reader) (int64, error) - -// SetReadDeadlineFunc is part of the deadliner interface. -type SetReadDeadlineFunc func(deadline time.Time) error - -// SetWriteDeadlineFunc is part of the deadliner interface. -type SetWriteDeadlineFunc func(deadline time.Time) error - -// EnableFullDuplexFunc is part of the fullDuplexEnabler interface. -type EnableFullDuplexFunc func() error - -// PushFunc is part of the http.Pusher interface. -type PushFunc func(target string, opts *http.PushOptions) error - -// Hooks defines a set of method interceptors for methods included in -// http.ResponseWriter as well as some others. You can think of them as -// middleware for the function calls they target. See Wrap for more details. -type Hooks struct { - Header func(HeaderFunc) HeaderFunc - WriteHeader func(WriteHeaderFunc) WriteHeaderFunc - Write func(WriteFunc) WriteFunc - Flush func(FlushFunc) FlushFunc - CloseNotify func(CloseNotifyFunc) CloseNotifyFunc - Hijack func(HijackFunc) HijackFunc - ReadFrom func(ReadFromFunc) ReadFromFunc - SetReadDeadline func(SetReadDeadlineFunc) SetReadDeadlineFunc - SetWriteDeadline func(SetWriteDeadlineFunc) SetWriteDeadlineFunc - EnableFullDuplex func(EnableFullDuplexFunc) EnableFullDuplexFunc - Push func(PushFunc) PushFunc -} - -// Wrap returns a wrapped version of w that provides the exact same interface -// as w. Specifically if w implements any combination of: -// -// - http.Flusher -// - http.CloseNotifier -// - http.Hijacker -// - io.ReaderFrom -// - deadliner -// - fullDuplexEnabler -// - http.Pusher -// -// The wrapped version will implement the exact same combination. If no hooks -// are set, the wrapped version also behaves exactly as w. Hooks targeting -// methods not supported by w are ignored. Any other hooks will intercept the -// method they target and may modify the call's arguments and/or return values. -// The CaptureMetrics implementation serves as a working example for how the -// hooks can be used. -func Wrap(w http.ResponseWriter, hooks Hooks) http.ResponseWriter { - rw := &rw{w: w, h: hooks} - _, i0 := w.(http.Flusher) - _, i1 := w.(http.CloseNotifier) - _, i2 := w.(http.Hijacker) - _, i3 := w.(io.ReaderFrom) - _, i4 := w.(deadliner) - _, i5 := w.(fullDuplexEnabler) - _, i6 := w.(http.Pusher) - switch { - // combination 1/128 - case !i0 && !i1 && !i2 && !i3 && !i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - }{rw, rw} - // combination 2/128 - case !i0 && !i1 && !i2 && !i3 && !i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Pusher - }{rw, rw, rw} - // combination 3/128 - case !i0 && !i1 && !i2 && !i3 && !i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - fullDuplexEnabler - }{rw, rw, rw} - // combination 4/128 - case !i0 && !i1 && !i2 && !i3 && !i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw} - // combination 5/128 - case !i0 && !i1 && !i2 && !i3 && i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - deadliner - }{rw, rw, rw} - // combination 6/128 - case !i0 && !i1 && !i2 && !i3 && i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - deadliner - http.Pusher - }{rw, rw, rw, rw} - // combination 7/128 - case !i0 && !i1 && !i2 && !i3 && i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw} - // combination 8/128 - case !i0 && !i1 && !i2 && !i3 && i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 9/128 - case !i0 && !i1 && !i2 && i3 && !i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - }{rw, rw, rw} - // combination 10/128 - case !i0 && !i1 && !i2 && i3 && !i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - http.Pusher - }{rw, rw, rw, rw} - // combination 11/128 - case !i0 && !i1 && !i2 && i3 && !i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw} - // combination 12/128 - case !i0 && !i1 && !i2 && i3 && !i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 13/128 - case !i0 && !i1 && !i2 && i3 && i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - deadliner - }{rw, rw, rw, rw} - // combination 14/128 - case !i0 && !i1 && !i2 && i3 && i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - deadliner - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 15/128 - case !i0 && !i1 && !i2 && i3 && i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 16/128 - case !i0 && !i1 && !i2 && i3 && i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 17/128 - case !i0 && !i1 && i2 && !i3 && !i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - }{rw, rw, rw} - // combination 18/128 - case !i0 && !i1 && i2 && !i3 && !i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - http.Pusher - }{rw, rw, rw, rw} - // combination 19/128 - case !i0 && !i1 && i2 && !i3 && !i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - fullDuplexEnabler - }{rw, rw, rw, rw} - // combination 20/128 - case !i0 && !i1 && i2 && !i3 && !i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 21/128 - case !i0 && !i1 && i2 && !i3 && i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - deadliner - }{rw, rw, rw, rw} - // combination 22/128 - case !i0 && !i1 && i2 && !i3 && i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - deadliner - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 23/128 - case !i0 && !i1 && i2 && !i3 && i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 24/128 - case !i0 && !i1 && i2 && !i3 && i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 25/128 - case !i0 && !i1 && i2 && i3 && !i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - }{rw, rw, rw, rw} - // combination 26/128 - case !i0 && !i1 && i2 && i3 && !i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 27/128 - case !i0 && !i1 && i2 && i3 && !i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 28/128 - case !i0 && !i1 && i2 && i3 && !i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 29/128 - case !i0 && !i1 && i2 && i3 && i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - deadliner - }{rw, rw, rw, rw, rw} - // combination 30/128 - case !i0 && !i1 && i2 && i3 && i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 31/128 - case !i0 && !i1 && i2 && i3 && i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 32/128 - case !i0 && !i1 && i2 && i3 && i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 33/128 - case !i0 && i1 && !i2 && !i3 && !i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - }{rw, rw, rw} - // combination 34/128 - case !i0 && i1 && !i2 && !i3 && !i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Pusher - }{rw, rw, rw, rw} - // combination 35/128 - case !i0 && i1 && !i2 && !i3 && !i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - fullDuplexEnabler - }{rw, rw, rw, rw} - // combination 36/128 - case !i0 && i1 && !i2 && !i3 && !i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 37/128 - case !i0 && i1 && !i2 && !i3 && i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - deadliner - }{rw, rw, rw, rw} - // combination 38/128 - case !i0 && i1 && !i2 && !i3 && i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - deadliner - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 39/128 - case !i0 && i1 && !i2 && !i3 && i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 40/128 - case !i0 && i1 && !i2 && !i3 && i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 41/128 - case !i0 && i1 && !i2 && i3 && !i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - }{rw, rw, rw, rw} - // combination 42/128 - case !i0 && i1 && !i2 && i3 && !i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 43/128 - case !i0 && i1 && !i2 && i3 && !i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 44/128 - case !i0 && i1 && !i2 && i3 && !i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 45/128 - case !i0 && i1 && !i2 && i3 && i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - deadliner - }{rw, rw, rw, rw, rw} - // combination 46/128 - case !i0 && i1 && !i2 && i3 && i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 47/128 - case !i0 && i1 && !i2 && i3 && i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 48/128 - case !i0 && i1 && !i2 && i3 && i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 49/128 - case !i0 && i1 && i2 && !i3 && !i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - }{rw, rw, rw, rw} - // combination 50/128 - case !i0 && i1 && i2 && !i3 && !i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 51/128 - case !i0 && i1 && i2 && !i3 && !i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 52/128 - case !i0 && i1 && i2 && !i3 && !i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 53/128 - case !i0 && i1 && i2 && !i3 && i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - deadliner - }{rw, rw, rw, rw, rw} - // combination 54/128 - case !i0 && i1 && i2 && !i3 && i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 55/128 - case !i0 && i1 && i2 && !i3 && i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 56/128 - case !i0 && i1 && i2 && !i3 && i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 57/128 - case !i0 && i1 && i2 && i3 && !i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - }{rw, rw, rw, rw, rw} - // combination 58/128 - case !i0 && i1 && i2 && i3 && !i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 59/128 - case !i0 && i1 && i2 && i3 && !i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 60/128 - case !i0 && i1 && i2 && i3 && !i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 61/128 - case !i0 && i1 && i2 && i3 && i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - }{rw, rw, rw, rw, rw, rw} - // combination 62/128 - case !i0 && i1 && i2 && i3 && i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 63/128 - case !i0 && i1 && i2 && i3 && i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw, rw} - // combination 64/128 - case !i0 && i1 && i2 && i3 && i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 65/128 - case i0 && !i1 && !i2 && !i3 && !i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - }{rw, rw, rw} - // combination 66/128 - case i0 && !i1 && !i2 && !i3 && !i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Pusher - }{rw, rw, rw, rw} - // combination 67/128 - case i0 && !i1 && !i2 && !i3 && !i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - fullDuplexEnabler - }{rw, rw, rw, rw} - // combination 68/128 - case i0 && !i1 && !i2 && !i3 && !i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 69/128 - case i0 && !i1 && !i2 && !i3 && i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - deadliner - }{rw, rw, rw, rw} - // combination 70/128 - case i0 && !i1 && !i2 && !i3 && i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - deadliner - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 71/128 - case i0 && !i1 && !i2 && !i3 && i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 72/128 - case i0 && !i1 && !i2 && !i3 && i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 73/128 - case i0 && !i1 && !i2 && i3 && !i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - }{rw, rw, rw, rw} - // combination 74/128 - case i0 && !i1 && !i2 && i3 && !i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 75/128 - case i0 && !i1 && !i2 && i3 && !i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 76/128 - case i0 && !i1 && !i2 && i3 && !i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 77/128 - case i0 && !i1 && !i2 && i3 && i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - deadliner - }{rw, rw, rw, rw, rw} - // combination 78/128 - case i0 && !i1 && !i2 && i3 && i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 79/128 - case i0 && !i1 && !i2 && i3 && i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 80/128 - case i0 && !i1 && !i2 && i3 && i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 81/128 - case i0 && !i1 && i2 && !i3 && !i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - }{rw, rw, rw, rw} - // combination 82/128 - case i0 && !i1 && i2 && !i3 && !i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 83/128 - case i0 && !i1 && i2 && !i3 && !i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 84/128 - case i0 && !i1 && i2 && !i3 && !i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 85/128 - case i0 && !i1 && i2 && !i3 && i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - deadliner - }{rw, rw, rw, rw, rw} - // combination 86/128 - case i0 && !i1 && i2 && !i3 && i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 87/128 - case i0 && !i1 && i2 && !i3 && i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 88/128 - case i0 && !i1 && i2 && !i3 && i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 89/128 - case i0 && !i1 && i2 && i3 && !i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - }{rw, rw, rw, rw, rw} - // combination 90/128 - case i0 && !i1 && i2 && i3 && !i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 91/128 - case i0 && !i1 && i2 && i3 && !i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 92/128 - case i0 && !i1 && i2 && i3 && !i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 93/128 - case i0 && !i1 && i2 && i3 && i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - deadliner - }{rw, rw, rw, rw, rw, rw} - // combination 94/128 - case i0 && !i1 && i2 && i3 && i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 95/128 - case i0 && !i1 && i2 && i3 && i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw, rw} - // combination 96/128 - case i0 && !i1 && i2 && i3 && i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 97/128 - case i0 && i1 && !i2 && !i3 && !i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - }{rw, rw, rw, rw} - // combination 98/128 - case i0 && i1 && !i2 && !i3 && !i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 99/128 - case i0 && i1 && !i2 && !i3 && !i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 100/128 - case i0 && i1 && !i2 && !i3 && !i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 101/128 - case i0 && i1 && !i2 && !i3 && i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - deadliner - }{rw, rw, rw, rw, rw} - // combination 102/128 - case i0 && i1 && !i2 && !i3 && i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 103/128 - case i0 && i1 && !i2 && !i3 && i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 104/128 - case i0 && i1 && !i2 && !i3 && i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 105/128 - case i0 && i1 && !i2 && i3 && !i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - }{rw, rw, rw, rw, rw} - // combination 106/128 - case i0 && i1 && !i2 && i3 && !i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 107/128 - case i0 && i1 && !i2 && i3 && !i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 108/128 - case i0 && i1 && !i2 && i3 && !i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 109/128 - case i0 && i1 && !i2 && i3 && i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - deadliner - }{rw, rw, rw, rw, rw, rw} - // combination 110/128 - case i0 && i1 && !i2 && i3 && i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 111/128 - case i0 && i1 && !i2 && i3 && i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw, rw} - // combination 112/128 - case i0 && i1 && !i2 && i3 && i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 113/128 - case i0 && i1 && i2 && !i3 && !i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - }{rw, rw, rw, rw, rw} - // combination 114/128 - case i0 && i1 && i2 && !i3 && !i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 115/128 - case i0 && i1 && i2 && !i3 && !i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 116/128 - case i0 && i1 && i2 && !i3 && !i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 117/128 - case i0 && i1 && i2 && !i3 && i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - deadliner - }{rw, rw, rw, rw, rw, rw} - // combination 118/128 - case i0 && i1 && i2 && !i3 && i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 119/128 - case i0 && i1 && i2 && !i3 && i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw, rw} - // combination 120/128 - case i0 && i1 && i2 && !i3 && i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 121/128 - case i0 && i1 && i2 && i3 && !i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - }{rw, rw, rw, rw, rw, rw} - // combination 122/128 - case i0 && i1 && i2 && i3 && !i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 123/128 - case i0 && i1 && i2 && i3 && !i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw, rw} - // combination 124/128 - case i0 && i1 && i2 && i3 && !i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 125/128 - case i0 && i1 && i2 && i3 && i4 && !i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - }{rw, rw, rw, rw, rw, rw, rw} - // combination 126/128 - case i0 && i1 && i2 && i3 && i4 && !i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 127/128 - case i0 && i1 && i2 && i3 && i4 && i5 && !i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 128/128 - case i0 && i1 && i2 && i3 && i4 && i5 && i6: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw, rw, rw} - } - panic("unreachable") -} - -type rw struct { - w http.ResponseWriter - h Hooks -} - -func (w *rw) Unwrap() http.ResponseWriter { - return w.w -} - -func (w *rw) Header() http.Header { - f := w.w.(http.ResponseWriter).Header - if w.h.Header != nil { - f = w.h.Header(f) - } - return f() -} - -func (w *rw) WriteHeader(code int) { - f := w.w.(http.ResponseWriter).WriteHeader - if w.h.WriteHeader != nil { - f = w.h.WriteHeader(f) - } - f(code) -} - -func (w *rw) Write(b []byte) (int, error) { - f := w.w.(http.ResponseWriter).Write - if w.h.Write != nil { - f = w.h.Write(f) - } - return f(b) -} - -func (w *rw) Flush() { - f := w.w.(http.Flusher).Flush - if w.h.Flush != nil { - f = w.h.Flush(f) - } - f() -} - -func (w *rw) CloseNotify() <-chan bool { - f := w.w.(http.CloseNotifier).CloseNotify - if w.h.CloseNotify != nil { - f = w.h.CloseNotify(f) - } - return f() -} - -func (w *rw) Hijack() (net.Conn, *bufio.ReadWriter, error) { - f := w.w.(http.Hijacker).Hijack - if w.h.Hijack != nil { - f = w.h.Hijack(f) - } - return f() -} - -func (w *rw) ReadFrom(src io.Reader) (int64, error) { - f := w.w.(io.ReaderFrom).ReadFrom - if w.h.ReadFrom != nil { - f = w.h.ReadFrom(f) - } - return f(src) -} - -func (w *rw) SetReadDeadline(deadline time.Time) error { - f := w.w.(deadliner).SetReadDeadline - if w.h.SetReadDeadline != nil { - f = w.h.SetReadDeadline(f) - } - return f(deadline) -} - -func (w *rw) SetWriteDeadline(deadline time.Time) error { - f := w.w.(deadliner).SetWriteDeadline - if w.h.SetWriteDeadline != nil { - f = w.h.SetWriteDeadline(f) - } - return f(deadline) -} - -func (w *rw) EnableFullDuplex() error { - f := w.w.(fullDuplexEnabler).EnableFullDuplex - if w.h.EnableFullDuplex != nil { - f = w.h.EnableFullDuplex(f) - } - return f() -} - -func (w *rw) Push(target string, opts *http.PushOptions) error { - f := w.w.(http.Pusher).Push - if w.h.Push != nil { - f = w.h.Push(f) - } - return f(target, opts) -} - -type Unwrapper interface { - Unwrap() http.ResponseWriter -} - -// Unwrap returns the underlying http.ResponseWriter from within zero or more -// layers of httpsnoop wrappers. -func Unwrap(w http.ResponseWriter) http.ResponseWriter { - if rw, ok := w.(Unwrapper); ok { - // recurse until rw.Unwrap() returns a non-Unwrapper - return Unwrap(rw.Unwrap()) - } else { - return w - } -} diff --git a/wrap_generated_gteq_1.8_test.go b/wrap_generated_gteq_1.8_test.go deleted file mode 100644 index 0b4bfa5..0000000 --- a/wrap_generated_gteq_1.8_test.go +++ /dev/null @@ -1,5711 +0,0 @@ -//go:build go1.8 -// +build go1.8 - -// Code generated by "httpsnoop/codegen"; DO NOT EDIT. - -package httpsnoop - -import ( - "io" - "net/http" - "testing" -) - -func TestWrap(t *testing.T) { - // combination 1/128 - { - t.Log("http.ResponseWriter") - inner := struct { - http.ResponseWriter - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 2/128 - { - t.Log("http.ResponseWriter, http.Pusher") - inner := struct { - http.ResponseWriter - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 3/128 - { - t.Log("http.ResponseWriter, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 4/128 - { - t.Log("http.ResponseWriter, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 5/128 - { - t.Log("http.ResponseWriter, deadliner") - inner := struct { - http.ResponseWriter - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 6/128 - { - t.Log("http.ResponseWriter, deadliner, http.Pusher") - inner := struct { - http.ResponseWriter - deadliner - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 7/128 - { - t.Log("http.ResponseWriter, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 8/128 - { - t.Log("http.ResponseWriter, deadliner, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - deadliner - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 9/128 - { - t.Log("http.ResponseWriter, io.ReaderFrom") - inner := struct { - http.ResponseWriter - io.ReaderFrom - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 10/128 - { - t.Log("http.ResponseWriter, io.ReaderFrom, http.Pusher") - inner := struct { - http.ResponseWriter - io.ReaderFrom - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 11/128 - { - t.Log("http.ResponseWriter, io.ReaderFrom, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - io.ReaderFrom - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 12/128 - { - t.Log("http.ResponseWriter, io.ReaderFrom, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 13/128 - { - t.Log("http.ResponseWriter, io.ReaderFrom, deadliner") - inner := struct { - http.ResponseWriter - io.ReaderFrom - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 14/128 - { - t.Log("http.ResponseWriter, io.ReaderFrom, deadliner, http.Pusher") - inner := struct { - http.ResponseWriter - io.ReaderFrom - deadliner - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 15/128 - { - t.Log("http.ResponseWriter, io.ReaderFrom, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - io.ReaderFrom - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 16/128 - { - t.Log("http.ResponseWriter, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 17/128 - { - t.Log("http.ResponseWriter, http.Hijacker") - inner := struct { - http.ResponseWriter - http.Hijacker - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 18/128 - { - t.Log("http.ResponseWriter, http.Hijacker, http.Pusher") - inner := struct { - http.ResponseWriter - http.Hijacker - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 19/128 - { - t.Log("http.ResponseWriter, http.Hijacker, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Hijacker - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 20/128 - { - t.Log("http.ResponseWriter, http.Hijacker, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.Hijacker - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 21/128 - { - t.Log("http.ResponseWriter, http.Hijacker, deadliner") - inner := struct { - http.ResponseWriter - http.Hijacker - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 22/128 - { - t.Log("http.ResponseWriter, http.Hijacker, deadliner, http.Pusher") - inner := struct { - http.ResponseWriter - http.Hijacker - deadliner - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 23/128 - { - t.Log("http.ResponseWriter, http.Hijacker, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Hijacker - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 24/128 - { - t.Log("http.ResponseWriter, http.Hijacker, deadliner, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.Hijacker - deadliner - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 25/128 - { - t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom") - inner := struct { - http.ResponseWriter - http.Hijacker - io.ReaderFrom - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 26/128 - { - t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, http.Pusher") - inner := struct { - http.ResponseWriter - http.Hijacker - io.ReaderFrom - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 27/128 - { - t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 28/128 - { - t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 29/128 - { - t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner") - inner := struct { - http.ResponseWriter - http.Hijacker - io.ReaderFrom - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 30/128 - { - t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner, http.Pusher") - inner := struct { - http.ResponseWriter - http.Hijacker - io.ReaderFrom - deadliner - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 31/128 - { - t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 32/128 - { - t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 33/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier") - inner := struct { - http.ResponseWriter - http.CloseNotifier - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 34/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Pusher") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 35/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.CloseNotifier - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 36/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.CloseNotifier - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 37/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, deadliner") - inner := struct { - http.ResponseWriter - http.CloseNotifier - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 38/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, deadliner, http.Pusher") - inner := struct { - http.ResponseWriter - http.CloseNotifier - deadliner - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 39/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.CloseNotifier - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 40/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, deadliner, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.CloseNotifier - deadliner - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 41/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom") - inner := struct { - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 42/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, http.Pusher") - inner := struct { - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 43/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 44/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 45/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner") - inner := struct { - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 46/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner, http.Pusher") - inner := struct { - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - deadliner - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 47/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 48/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 49/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 50/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, http.Pusher") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 51/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 52/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 53/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 54/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner, http.Pusher") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - deadliner - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 55/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 56/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - deadliner - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 57/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 58/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, http.Pusher") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 59/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 60/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 61/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 62/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, http.Pusher") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 63/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 64/128 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 65/128 - { - t.Log("http.ResponseWriter, http.Flusher") - inner := struct { - http.ResponseWriter - http.Flusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 66/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 67/128 - { - t.Log("http.ResponseWriter, http.Flusher, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 68/128 - { - t.Log("http.ResponseWriter, http.Flusher, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 69/128 - { - t.Log("http.ResponseWriter, http.Flusher, deadliner") - inner := struct { - http.ResponseWriter - http.Flusher - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 70/128 - { - t.Log("http.ResponseWriter, http.Flusher, deadliner, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - deadliner - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 71/128 - { - t.Log("http.ResponseWriter, http.Flusher, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 72/128 - { - t.Log("http.ResponseWriter, http.Flusher, deadliner, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - deadliner - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 73/128 - { - t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom") - inner := struct { - http.ResponseWriter - http.Flusher - io.ReaderFrom - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 74/128 - { - t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - io.ReaderFrom - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 75/128 - { - t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - io.ReaderFrom - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 76/128 - { - t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 77/128 - { - t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner") - inner := struct { - http.ResponseWriter - http.Flusher - io.ReaderFrom - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 78/128 - { - t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - io.ReaderFrom - deadliner - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 79/128 - { - t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - io.ReaderFrom - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 80/128 - { - t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 81/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 82/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 83/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 84/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 85/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, deadliner") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 86/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, deadliner, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - deadliner - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 87/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 88/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, deadliner, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - deadliner - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 89/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 90/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 91/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 92/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 93/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 94/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - deadliner - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 95/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 96/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 97/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 98/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 99/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 100/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 101/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 102/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - deadliner - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 103/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 104/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - deadliner - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 105/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 106/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 107/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 108/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 109/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 110/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - deadliner - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 111/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 112/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 113/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 114/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 115/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 116/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 117/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 118/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - deadliner - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 119/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 120/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - deadliner - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 121/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 122/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 123/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 124/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 125/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 126/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 127/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 128/128 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Pusher); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - -} diff --git a/wrap_generated_lt_1.8.go b/wrap_generated_lt_1.8.go deleted file mode 100644 index 221a3fe..0000000 --- a/wrap_generated_lt_1.8.go +++ /dev/null @@ -1,769 +0,0 @@ -//go:build !go1.8 -// +build !go1.8 - -// Code generated by "httpsnoop/codegen"; DO NOT EDIT. - -package httpsnoop - -import ( - "bufio" - "io" - "net" - "net/http" - "time" -) - -// HeaderFunc is part of the http.ResponseWriter interface. -type HeaderFunc func() http.Header - -// WriteHeaderFunc is part of the http.ResponseWriter interface. -type WriteHeaderFunc func(code int) - -// WriteFunc is part of the http.ResponseWriter interface. -type WriteFunc func(b []byte) (int, error) - -// FlushFunc is part of the http.Flusher interface. -type FlushFunc func() - -// CloseNotifyFunc is part of the http.CloseNotifier interface. -type CloseNotifyFunc func() <-chan bool - -// HijackFunc is part of the http.Hijacker interface. -type HijackFunc func() (net.Conn, *bufio.ReadWriter, error) - -// ReadFromFunc is part of the io.ReaderFrom interface. -type ReadFromFunc func(src io.Reader) (int64, error) - -// SetReadDeadlineFunc is part of the deadliner interface. -type SetReadDeadlineFunc func(deadline time.Time) error - -// SetWriteDeadlineFunc is part of the deadliner interface. -type SetWriteDeadlineFunc func(deadline time.Time) error - -// EnableFullDuplexFunc is part of the fullDuplexEnabler interface. -type EnableFullDuplexFunc func() error - -// Hooks defines a set of method interceptors for methods included in -// http.ResponseWriter as well as some others. You can think of them as -// middleware for the function calls they target. See Wrap for more details. -type Hooks struct { - Header func(HeaderFunc) HeaderFunc - WriteHeader func(WriteHeaderFunc) WriteHeaderFunc - Write func(WriteFunc) WriteFunc - Flush func(FlushFunc) FlushFunc - CloseNotify func(CloseNotifyFunc) CloseNotifyFunc - Hijack func(HijackFunc) HijackFunc - ReadFrom func(ReadFromFunc) ReadFromFunc - SetReadDeadline func(SetReadDeadlineFunc) SetReadDeadlineFunc - SetWriteDeadline func(SetWriteDeadlineFunc) SetWriteDeadlineFunc - EnableFullDuplex func(EnableFullDuplexFunc) EnableFullDuplexFunc -} - -// Wrap returns a wrapped version of w that provides the exact same interface -// as w. Specifically if w implements any combination of: -// -// - http.Flusher -// - http.CloseNotifier -// - http.Hijacker -// - io.ReaderFrom -// - deadliner -// - fullDuplexEnabler -// -// The wrapped version will implement the exact same combination. If no hooks -// are set, the wrapped version also behaves exactly as w. Hooks targeting -// methods not supported by w are ignored. Any other hooks will intercept the -// method they target and may modify the call's arguments and/or return values. -// The CaptureMetrics implementation serves as a working example for how the -// hooks can be used. -func Wrap(w http.ResponseWriter, hooks Hooks) http.ResponseWriter { - rw := &rw{w: w, h: hooks} - _, i0 := w.(http.Flusher) - _, i1 := w.(http.CloseNotifier) - _, i2 := w.(http.Hijacker) - _, i3 := w.(io.ReaderFrom) - _, i4 := w.(deadliner) - _, i5 := w.(fullDuplexEnabler) - switch { - // combination 1/64 - case !i0 && !i1 && !i2 && !i3 && !i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - }{rw, rw} - // combination 2/64 - case !i0 && !i1 && !i2 && !i3 && !i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - fullDuplexEnabler - }{rw, rw, rw} - // combination 3/64 - case !i0 && !i1 && !i2 && !i3 && i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - deadliner - }{rw, rw, rw} - // combination 4/64 - case !i0 && !i1 && !i2 && !i3 && i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw} - // combination 5/64 - case !i0 && !i1 && !i2 && i3 && !i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - }{rw, rw, rw} - // combination 6/64 - case !i0 && !i1 && !i2 && i3 && !i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw} - // combination 7/64 - case !i0 && !i1 && !i2 && i3 && i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - deadliner - }{rw, rw, rw, rw} - // combination 8/64 - case !i0 && !i1 && !i2 && i3 && i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 9/64 - case !i0 && !i1 && i2 && !i3 && !i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - }{rw, rw, rw} - // combination 10/64 - case !i0 && !i1 && i2 && !i3 && !i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - fullDuplexEnabler - }{rw, rw, rw, rw} - // combination 11/64 - case !i0 && !i1 && i2 && !i3 && i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - deadliner - }{rw, rw, rw, rw} - // combination 12/64 - case !i0 && !i1 && i2 && !i3 && i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 13/64 - case !i0 && !i1 && i2 && i3 && !i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - }{rw, rw, rw, rw} - // combination 14/64 - case !i0 && !i1 && i2 && i3 && !i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 15/64 - case !i0 && !i1 && i2 && i3 && i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - deadliner - }{rw, rw, rw, rw, rw} - // combination 16/64 - case !i0 && !i1 && i2 && i3 && i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 17/64 - case !i0 && i1 && !i2 && !i3 && !i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - }{rw, rw, rw} - // combination 18/64 - case !i0 && i1 && !i2 && !i3 && !i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - fullDuplexEnabler - }{rw, rw, rw, rw} - // combination 19/64 - case !i0 && i1 && !i2 && !i3 && i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - deadliner - }{rw, rw, rw, rw} - // combination 20/64 - case !i0 && i1 && !i2 && !i3 && i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 21/64 - case !i0 && i1 && !i2 && i3 && !i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - }{rw, rw, rw, rw} - // combination 22/64 - case !i0 && i1 && !i2 && i3 && !i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 23/64 - case !i0 && i1 && !i2 && i3 && i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - deadliner - }{rw, rw, rw, rw, rw} - // combination 24/64 - case !i0 && i1 && !i2 && i3 && i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 25/64 - case !i0 && i1 && i2 && !i3 && !i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - }{rw, rw, rw, rw} - // combination 26/64 - case !i0 && i1 && i2 && !i3 && !i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 27/64 - case !i0 && i1 && i2 && !i3 && i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - deadliner - }{rw, rw, rw, rw, rw} - // combination 28/64 - case !i0 && i1 && i2 && !i3 && i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 29/64 - case !i0 && i1 && i2 && i3 && !i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - }{rw, rw, rw, rw, rw} - // combination 30/64 - case !i0 && i1 && i2 && i3 && !i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 31/64 - case !i0 && i1 && i2 && i3 && i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - }{rw, rw, rw, rw, rw, rw} - // combination 32/64 - case !i0 && i1 && i2 && i3 && i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw, rw} - // combination 33/64 - case i0 && !i1 && !i2 && !i3 && !i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - }{rw, rw, rw} - // combination 34/64 - case i0 && !i1 && !i2 && !i3 && !i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - fullDuplexEnabler - }{rw, rw, rw, rw} - // combination 35/64 - case i0 && !i1 && !i2 && !i3 && i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - deadliner - }{rw, rw, rw, rw} - // combination 36/64 - case i0 && !i1 && !i2 && !i3 && i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 37/64 - case i0 && !i1 && !i2 && i3 && !i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - }{rw, rw, rw, rw} - // combination 38/64 - case i0 && !i1 && !i2 && i3 && !i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 39/64 - case i0 && !i1 && !i2 && i3 && i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - deadliner - }{rw, rw, rw, rw, rw} - // combination 40/64 - case i0 && !i1 && !i2 && i3 && i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 41/64 - case i0 && !i1 && i2 && !i3 && !i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - }{rw, rw, rw, rw} - // combination 42/64 - case i0 && !i1 && i2 && !i3 && !i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 43/64 - case i0 && !i1 && i2 && !i3 && i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - deadliner - }{rw, rw, rw, rw, rw} - // combination 44/64 - case i0 && !i1 && i2 && !i3 && i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 45/64 - case i0 && !i1 && i2 && i3 && !i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - }{rw, rw, rw, rw, rw} - // combination 46/64 - case i0 && !i1 && i2 && i3 && !i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 47/64 - case i0 && !i1 && i2 && i3 && i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - deadliner - }{rw, rw, rw, rw, rw, rw} - // combination 48/64 - case i0 && !i1 && i2 && i3 && i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw, rw} - // combination 49/64 - case i0 && i1 && !i2 && !i3 && !i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - }{rw, rw, rw, rw} - // combination 50/64 - case i0 && i1 && !i2 && !i3 && !i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 51/64 - case i0 && i1 && !i2 && !i3 && i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - deadliner - }{rw, rw, rw, rw, rw} - // combination 52/64 - case i0 && i1 && !i2 && !i3 && i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 53/64 - case i0 && i1 && !i2 && i3 && !i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - }{rw, rw, rw, rw, rw} - // combination 54/64 - case i0 && i1 && !i2 && i3 && !i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 55/64 - case i0 && i1 && !i2 && i3 && i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - deadliner - }{rw, rw, rw, rw, rw, rw} - // combination 56/64 - case i0 && i1 && !i2 && i3 && i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw, rw} - // combination 57/64 - case i0 && i1 && i2 && !i3 && !i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - }{rw, rw, rw, rw, rw} - // combination 58/64 - case i0 && i1 && i2 && !i3 && !i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 59/64 - case i0 && i1 && i2 && !i3 && i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - deadliner - }{rw, rw, rw, rw, rw, rw} - // combination 60/64 - case i0 && i1 && i2 && !i3 && i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw, rw} - // combination 61/64 - case i0 && i1 && i2 && i3 && !i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - }{rw, rw, rw, rw, rw, rw} - // combination 62/64 - case i0 && i1 && i2 && i3 && !i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw, rw} - // combination 63/64 - case i0 && i1 && i2 && i3 && i4 && !i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - }{rw, rw, rw, rw, rw, rw, rw} - // combination 64/64 - case i0 && i1 && i2 && i3 && i4 && i5: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw, rw, rw} - } - panic("unreachable") -} - -type rw struct { - w http.ResponseWriter - h Hooks -} - -func (w *rw) Unwrap() http.ResponseWriter { - return w.w -} - -func (w *rw) Header() http.Header { - f := w.w.(http.ResponseWriter).Header - if w.h.Header != nil { - f = w.h.Header(f) - } - return f() -} - -func (w *rw) WriteHeader(code int) { - f := w.w.(http.ResponseWriter).WriteHeader - if w.h.WriteHeader != nil { - f = w.h.WriteHeader(f) - } - f(code) -} - -func (w *rw) Write(b []byte) (int, error) { - f := w.w.(http.ResponseWriter).Write - if w.h.Write != nil { - f = w.h.Write(f) - } - return f(b) -} - -func (w *rw) Flush() { - f := w.w.(http.Flusher).Flush - if w.h.Flush != nil { - f = w.h.Flush(f) - } - f() -} - -func (w *rw) CloseNotify() <-chan bool { - f := w.w.(http.CloseNotifier).CloseNotify - if w.h.CloseNotify != nil { - f = w.h.CloseNotify(f) - } - return f() -} - -func (w *rw) Hijack() (net.Conn, *bufio.ReadWriter, error) { - f := w.w.(http.Hijacker).Hijack - if w.h.Hijack != nil { - f = w.h.Hijack(f) - } - return f() -} - -func (w *rw) ReadFrom(src io.Reader) (int64, error) { - f := w.w.(io.ReaderFrom).ReadFrom - if w.h.ReadFrom != nil { - f = w.h.ReadFrom(f) - } - return f(src) -} - -func (w *rw) SetReadDeadline(deadline time.Time) error { - f := w.w.(deadliner).SetReadDeadline - if w.h.SetReadDeadline != nil { - f = w.h.SetReadDeadline(f) - } - return f(deadline) -} - -func (w *rw) SetWriteDeadline(deadline time.Time) error { - f := w.w.(deadliner).SetWriteDeadline - if w.h.SetWriteDeadline != nil { - f = w.h.SetWriteDeadline(f) - } - return f(deadline) -} - -func (w *rw) EnableFullDuplex() error { - f := w.w.(fullDuplexEnabler).EnableFullDuplex - if w.h.EnableFullDuplex != nil { - f = w.h.EnableFullDuplex(f) - } - return f() -} - -type Unwrapper interface { - Unwrap() http.ResponseWriter -} - -// Unwrap returns the underlying http.ResponseWriter from within zero or more -// layers of httpsnoop wrappers. -func Unwrap(w http.ResponseWriter) http.ResponseWriter { - if rw, ok := w.(Unwrapper); ok { - // recurse until rw.Unwrap() returns a non-Unwrapper - return Unwrap(rw.Unwrap()) - } else { - return w - } -} diff --git a/wrap_generated_lt_1.8_test.go b/wrap_generated_lt_1.8_test.go deleted file mode 100644 index d410190..0000000 --- a/wrap_generated_lt_1.8_test.go +++ /dev/null @@ -1,2639 +0,0 @@ -//go:build !go1.8 -// +build !go1.8 - -// Code generated by "httpsnoop/codegen"; DO NOT EDIT. - -package httpsnoop - -import ( - "io" - "net/http" - "testing" -) - -func TestWrap(t *testing.T) { - // combination 1/64 - { - t.Log("http.ResponseWriter") - inner := struct { - http.ResponseWriter - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 2/64 - { - t.Log("http.ResponseWriter, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 3/64 - { - t.Log("http.ResponseWriter, deadliner") - inner := struct { - http.ResponseWriter - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 4/64 - { - t.Log("http.ResponseWriter, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 5/64 - { - t.Log("http.ResponseWriter, io.ReaderFrom") - inner := struct { - http.ResponseWriter - io.ReaderFrom - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 6/64 - { - t.Log("http.ResponseWriter, io.ReaderFrom, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - io.ReaderFrom - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 7/64 - { - t.Log("http.ResponseWriter, io.ReaderFrom, deadliner") - inner := struct { - http.ResponseWriter - io.ReaderFrom - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 8/64 - { - t.Log("http.ResponseWriter, io.ReaderFrom, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - io.ReaderFrom - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 9/64 - { - t.Log("http.ResponseWriter, http.Hijacker") - inner := struct { - http.ResponseWriter - http.Hijacker - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 10/64 - { - t.Log("http.ResponseWriter, http.Hijacker, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Hijacker - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 11/64 - { - t.Log("http.ResponseWriter, http.Hijacker, deadliner") - inner := struct { - http.ResponseWriter - http.Hijacker - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 12/64 - { - t.Log("http.ResponseWriter, http.Hijacker, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Hijacker - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 13/64 - { - t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom") - inner := struct { - http.ResponseWriter - http.Hijacker - io.ReaderFrom - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 14/64 - { - t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 15/64 - { - t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner") - inner := struct { - http.ResponseWriter - http.Hijacker - io.ReaderFrom - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 16/64 - { - t.Log("http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 17/64 - { - t.Log("http.ResponseWriter, http.CloseNotifier") - inner := struct { - http.ResponseWriter - http.CloseNotifier - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 18/64 - { - t.Log("http.ResponseWriter, http.CloseNotifier, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.CloseNotifier - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 19/64 - { - t.Log("http.ResponseWriter, http.CloseNotifier, deadliner") - inner := struct { - http.ResponseWriter - http.CloseNotifier - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 20/64 - { - t.Log("http.ResponseWriter, http.CloseNotifier, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.CloseNotifier - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 21/64 - { - t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom") - inner := struct { - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 22/64 - { - t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 23/64 - { - t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner") - inner := struct { - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 24/64 - { - t.Log("http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 25/64 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 26/64 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 27/64 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 28/64 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 29/64 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 30/64 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 31/64 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 32/64 - { - t.Log("http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 33/64 - { - t.Log("http.ResponseWriter, http.Flusher") - inner := struct { - http.ResponseWriter - http.Flusher - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 34/64 - { - t.Log("http.ResponseWriter, http.Flusher, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 35/64 - { - t.Log("http.ResponseWriter, http.Flusher, deadliner") - inner := struct { - http.ResponseWriter - http.Flusher - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 36/64 - { - t.Log("http.ResponseWriter, http.Flusher, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 37/64 - { - t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom") - inner := struct { - http.ResponseWriter - http.Flusher - io.ReaderFrom - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 38/64 - { - t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - io.ReaderFrom - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 39/64 - { - t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner") - inner := struct { - http.ResponseWriter - http.Flusher - io.ReaderFrom - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 40/64 - { - t.Log("http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - io.ReaderFrom - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 41/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 42/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 43/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, deadliner") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 44/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 45/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 46/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 47/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 48/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 49/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 50/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 51/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 52/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 53/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 54/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 55/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 56/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 57/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 58/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 59/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 60/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 61/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 62/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != false { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 63/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != false { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - - // combination 64/64 - { - t.Log("http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler") - inner := struct { - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - }{} - w := Wrap(inner, Hooks{}) - if _, ok := w.(http.ResponseWriter); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Flusher); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.CloseNotifier); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(http.Hijacker); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(io.ReaderFrom); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(deadliner); ok != true { - t.Error("unexpected interface") - } - if _, ok := w.(fullDuplexEnabler); ok != true { - t.Error("unexpected interface") - } - - if w, ok := w.(Unwrapper); ok { - if w.Unwrap() != inner { - t.Error("w.Unwrap() failed") - } - } else { - t.Error("Unwrapper interface not implemented") - } - } - -} diff --git a/wrap_generated_lt_1.12_test.go b/wrap_generated_test.go similarity index 99% rename from wrap_generated_lt_1.12_test.go rename to wrap_generated_test.go index be91f16..3c8f9b7 100644 --- a/wrap_generated_lt_1.12_test.go +++ b/wrap_generated_test.go @@ -1,6 +1,3 @@ -//go:build !go1.12 -// +build !go1.12 - // Code generated by "httpsnoop/codegen"; DO NOT EDIT. package httpsnoop From 8de33ec5926fa7f9fa457504c550d1126b7b868c Mon Sep 17 00:00:00 2001 From: warnar boekkooi Date: Thu, 21 May 2026 14:07:30 +0200 Subject: [PATCH 3/8] chore: ran go fmt --- capture_metrics_test.go | 2 +- codegen/main.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/capture_metrics_test.go b/capture_metrics_test.go index 7e703d6..238ed02 100644 --- a/capture_metrics_test.go +++ b/capture_metrics_test.go @@ -104,7 +104,7 @@ func TestCaptureMetrics(t *testing.T) { } if err == nil { defer res.Body.Close() - } + } m := <-ch if m.Code != test.WantCode { t.Errorf("test %d: got=%d want=%d", i, m.Code, test.WantCode) diff --git a/codegen/main.go b/codegen/main.go index bb09de2..978a875 100644 --- a/codegen/main.go +++ b/codegen/main.go @@ -274,7 +274,7 @@ type Generator struct { } func (g *Generator) Printf(s string, args ...interface{}) { - fmt.Fprintf(&g.buf, s, args...) + _, _ = fmt.Fprintf(&g.buf, s, args...) } func (g *Generator) WriteFile(name string) error { @@ -374,6 +374,6 @@ func main() { } func fatalf(s string, args ...interface{}) { - fmt.Fprintf(os.Stderr, s+"\n", args...) + _, _ = fmt.Fprintf(os.Stderr, s+"\n", args...) os.Exit(1) } From 17c2a0bdfae06179ef3aa48f9589dc8f548e4878 Mon Sep 17 00:00:00 2001 From: warnar boekkooi Date: Fri, 22 May 2026 09:05:20 +0200 Subject: [PATCH 4/8] chore: benchmark --- ...h_test.go => capture_metrics_bench_test.go | 18 ------ wrap_bench_test.go | 58 +++++++++++++++++++ 2 files changed, 58 insertions(+), 18 deletions(-) rename bench_test.go => capture_metrics_bench_test.go (68%) create mode 100644 wrap_bench_test.go diff --git a/bench_test.go b/capture_metrics_bench_test.go similarity index 68% rename from bench_test.go rename to capture_metrics_bench_test.go index cd5e4d7..6a1174a 100644 --- a/bench_test.go +++ b/capture_metrics_bench_test.go @@ -18,24 +18,6 @@ func BenchmarkCaptureMetricsTwice(b *testing.B) { benchmark(b, 2) } -func BenchmarkWrap(b *testing.B) { - b.StopTimer() - doneCh := make(chan struct{}, 1) - h := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - b.StartTimer() - for i := 0; i < b.N; i++ { - Wrap(w, Hooks{}) - } - doneCh <- struct{}{} - }) - s := httptest.NewServer(h) - defer s.Close() - if _, err := http.Get(s.URL); err != nil { - b.Fatal(err) - } - <-doneCh -} - func benchmark(b *testing.B, wrappings int) { dummyH := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {}) h := dummyH diff --git a/wrap_bench_test.go b/wrap_bench_test.go new file mode 100644 index 0000000..404c24b --- /dev/null +++ b/wrap_bench_test.go @@ -0,0 +1,58 @@ +package httpsnoop + +import ( + "net/http/httptest" + "testing" +) + +func BenchmarkWrap(b *testing.B) { + b.ReportAllocs() + b.StopTimer() + resp := httptest.NewRecorder() + + b.ReportAllocs() + b.StartTimer() + for b.Loop() { + wrapped := Wrap(resp, Hooks{}) + if wrapped == nil { + b.Fatal() + } + } +} + +func BenchmarkWrappedWriteWithHook(b *testing.B) { + var total int64 + w := httptest.NewRecorder() + ww := Wrap(w, Hooks{ + Write: func(next WriteFunc) WriteFunc { + return func(p []byte) (int, error) { + n, err := next(p) + total += int64(n) + return n, err + } + }, + }) + payload := []byte("hello world") + b.ReportAllocs() + b.ResetTimer() + for i := 0; i < b.N; i++ { + _, err := ww.Write(payload) + if err != nil { + b.Fatal() + } + } +} + +func BenchmarkWrappedWriteNoHook(b *testing.B) { + w := httptest.NewRecorder() + ww := Wrap(w, Hooks{}) + payload := []byte("hello world") + b.ReportAllocs() + b.ResetTimer() + for i := 0; i < b.N; i++ { + _, err := ww.Write(payload) + if err != nil { + b.Fatal() + } + } +} From 49a31ed0d8d6350b21c6b663db17279d71dc071e Mon Sep 17 00:00:00 2001 From: warnar boekkooi Date: Thu, 21 May 2026 16:05:43 +0200 Subject: [PATCH 5/8] refactor: invoke middleware func once This removes allocation for each Write call --- codegen/main.go | 65 +++++++++++++------ wrap_generated.go | 155 ++++++++++++++++++++++++++++------------------ 2 files changed, 143 insertions(+), 77 deletions(-) diff --git a/codegen/main.go b/codegen/main.go index 978a875..7e9dcad 100644 --- a/codegen/main.go +++ b/codegen/main.go @@ -95,9 +95,20 @@ type Hooks struct { // hooks can be used. `, strings.Join(docList, "\n")) g.Printf("func Wrap(w http.ResponseWriter, hooks Hooks) http.ResponseWriter {\n") - g.Printf("rw := &rw{w: w, h: hooks}\n") + g.Printf("rw := &rw{w: w}\n") + // Precompute hook chains once per Wrap call. + for _, fn := range ifaces[0].Funcs { + g.Printf("if hooks.%s != nil {\n", fn.Name) + g.Printf("rw.%s = hooks.%s(w.%s)\n", fieldName(fn.Name), fn.Name, fn.Name) + g.Printf("}\n") + } for i, iface := range subIfaces { - g.Printf("_, i%d := w.(%s)\n", i, iface.Name) + g.Printf("t%[1]d, i%[1]d := w.(%s)\n", i, iface.Name) + for _, fn := range iface.Funcs { + g.Printf("if i%d && hooks.%s != nil {\n", i, fn.Name) + g.Printf("rw.%s = hooks.%s(t%d.%s)\n", fieldName(fn.Name), fn.Name, i, fn.Name) + g.Printf("}\n") + } } g.Printf("switch {\n") combinations := 1 << uint(len(subIfaces)) @@ -127,31 +138,42 @@ type Hooks struct { g.Printf("panic(\"unreachable\")") g.Printf("}\n") - // rw struct - g.Printf(` -type rw struct { - w http.ResponseWriter - h Hooks -} - -func (w *rw) Unwrap() http.ResponseWriter { - return w.w + // rw struct: caches one wrapped function per intercepted method. + // nil means no hook is installed; methods fall through to a direct call. + g.Printf("type rw struct {\n") + g.Printf("w http.ResponseWriter\n") + for _, iface := range ifaces { + for _, fn := range iface.Funcs { + g.Printf("%s %s\n", fieldName(fn.Name), fn.Type()) + } + } + g.Printf("}\n\n") + g.Printf(`func (w *rw) Unwrap() http.ResponseWriter { + return w.w } `) for _, iface := range ifaces { for _, fn := range iface.Funcs { g.Printf("func (w *rw) %s(%s) (%s) {\n", fn.Name, fn.Args, fn.Returns) - g.Printf("f := w.w.(%s).%s\n", iface.Name, fn.Name) - g.Printf("if w.h.%s != nil {\n", fn.Name) - g.Printf("f = w.h.%s(f)\n", fn.Name) - g.Printf("}\n") + g.Printf("if w.%s != nil {\n", fieldName(fn.Name)) if fn.Returns != "" { - g.Printf("return ") + g.Printf("return w.%s(%s)\n", fieldName(fn.Name), fn.Args.Names()) + } else { + g.Printf("w.%s(%s)\n", fieldName(fn.Name), fn.Args.Names()) + g.Printf("return\n") } - g.Printf("f(%s)\n", fn.Args.Names()) g.Printf("}\n") - g.Printf("\n") + receiver := "w.w" + if iface.Name != "http.ResponseWriter" { + receiver = fmt.Sprintf("w.w.(%s)", iface.Name) + } + if fn.Returns != "" { + g.Printf("return %s.%s(%s)\n", receiver, fn.Name, fn.Args.Names()) + } else { + g.Printf("%s.%s(%s)\n", receiver, fn.Name, fn.Args.Names()) + } + g.Printf("}\n\n") } } g.Printf(` @@ -269,6 +291,13 @@ func (fn *InterfaceFunc) Type() string { return fn.Name + "Func" } +func fieldName(s string) string { + if s == "" { + return s + } + return strings.ToLower(s[:1]) + s[1:] +} + type Generator struct { buf bytes.Buffer } diff --git a/wrap_generated.go b/wrap_generated.go index 3e52eb0..81055ad 100644 --- a/wrap_generated.go +++ b/wrap_generated.go @@ -83,15 +83,51 @@ type Hooks struct { // The CaptureMetrics implementation serves as a working example for how the // hooks can be used. func Wrap(w http.ResponseWriter, hooks Hooks) http.ResponseWriter { - rw := &rw{w: w, h: hooks} - _, i0 := w.(http.Flusher) - _, i1 := w.(http.CloseNotifier) - _, i2 := w.(http.Hijacker) - _, i3 := w.(io.ReaderFrom) - _, i4 := w.(deadliner) - _, i5 := w.(fullDuplexEnabler) - _, i6 := w.(http.Pusher) - _, i7 := w.(io.StringWriter) + rw := &rw{w: w} + if hooks.Header != nil { + rw.header = hooks.Header(w.Header) + } + if hooks.WriteHeader != nil { + rw.writeHeader = hooks.WriteHeader(w.WriteHeader) + } + if hooks.Write != nil { + rw.write = hooks.Write(w.Write) + } + t0, i0 := w.(http.Flusher) + if i0 && hooks.Flush != nil { + rw.flush = hooks.Flush(t0.Flush) + } + t1, i1 := w.(http.CloseNotifier) + if i1 && hooks.CloseNotify != nil { + rw.closeNotify = hooks.CloseNotify(t1.CloseNotify) + } + t2, i2 := w.(http.Hijacker) + if i2 && hooks.Hijack != nil { + rw.hijack = hooks.Hijack(t2.Hijack) + } + t3, i3 := w.(io.ReaderFrom) + if i3 && hooks.ReadFrom != nil { + rw.readFrom = hooks.ReadFrom(t3.ReadFrom) + } + t4, i4 := w.(deadliner) + if i4 && hooks.SetReadDeadline != nil { + rw.setReadDeadline = hooks.SetReadDeadline(t4.SetReadDeadline) + } + if i4 && hooks.SetWriteDeadline != nil { + rw.setWriteDeadline = hooks.SetWriteDeadline(t4.SetWriteDeadline) + } + t5, i5 := w.(fullDuplexEnabler) + if i5 && hooks.EnableFullDuplex != nil { + rw.enableFullDuplex = hooks.EnableFullDuplex(t5.EnableFullDuplex) + } + t6, i6 := w.(http.Pusher) + if i6 && hooks.Push != nil { + rw.push = hooks.Push(t6.Push) + } + t7, i7 := w.(io.StringWriter) + if i7 && hooks.WriteString != nil { + rw.writeString = hooks.WriteString(t7.WriteString) + } switch { // combination 1/256 case !i0 && !i1 && !i2 && !i3 && !i4 && !i5 && !i6 && !i7: @@ -2658,8 +2694,19 @@ func Wrap(w http.ResponseWriter, hooks Hooks) http.ResponseWriter { } type rw struct { - w http.ResponseWriter - h Hooks + w http.ResponseWriter + header HeaderFunc + writeHeader WriteHeaderFunc + write WriteFunc + flush FlushFunc + closeNotify CloseNotifyFunc + hijack HijackFunc + readFrom ReadFromFunc + setReadDeadline SetReadDeadlineFunc + setWriteDeadline SetWriteDeadlineFunc + enableFullDuplex EnableFullDuplexFunc + push PushFunc + writeString WriteStringFunc } func (w *rw) Unwrap() http.ResponseWriter { @@ -2667,99 +2714,89 @@ func (w *rw) Unwrap() http.ResponseWriter { } func (w *rw) Header() http.Header { - f := w.w.(http.ResponseWriter).Header - if w.h.Header != nil { - f = w.h.Header(f) + if w.header != nil { + return w.header() } - return f() + return w.w.Header() } func (w *rw) WriteHeader(code int) { - f := w.w.(http.ResponseWriter).WriteHeader - if w.h.WriteHeader != nil { - f = w.h.WriteHeader(f) + if w.writeHeader != nil { + w.writeHeader(code) + return } - f(code) + w.w.WriteHeader(code) } func (w *rw) Write(b []byte) (int, error) { - f := w.w.(http.ResponseWriter).Write - if w.h.Write != nil { - f = w.h.Write(f) + if w.write != nil { + return w.write(b) } - return f(b) + return w.w.Write(b) } func (w *rw) Flush() { - f := w.w.(http.Flusher).Flush - if w.h.Flush != nil { - f = w.h.Flush(f) + if w.flush != nil { + w.flush() + return } - f() + w.w.(http.Flusher).Flush() } func (w *rw) CloseNotify() <-chan bool { - f := w.w.(http.CloseNotifier).CloseNotify - if w.h.CloseNotify != nil { - f = w.h.CloseNotify(f) + if w.closeNotify != nil { + return w.closeNotify() } - return f() + return w.w.(http.CloseNotifier).CloseNotify() } func (w *rw) Hijack() (net.Conn, *bufio.ReadWriter, error) { - f := w.w.(http.Hijacker).Hijack - if w.h.Hijack != nil { - f = w.h.Hijack(f) + if w.hijack != nil { + return w.hijack() } - return f() + return w.w.(http.Hijacker).Hijack() } func (w *rw) ReadFrom(src io.Reader) (int64, error) { - f := w.w.(io.ReaderFrom).ReadFrom - if w.h.ReadFrom != nil { - f = w.h.ReadFrom(f) + if w.readFrom != nil { + return w.readFrom(src) } - return f(src) + return w.w.(io.ReaderFrom).ReadFrom(src) } func (w *rw) SetReadDeadline(deadline time.Time) error { - f := w.w.(deadliner).SetReadDeadline - if w.h.SetReadDeadline != nil { - f = w.h.SetReadDeadline(f) + if w.setReadDeadline != nil { + return w.setReadDeadline(deadline) } - return f(deadline) + return w.w.(deadliner).SetReadDeadline(deadline) } func (w *rw) SetWriteDeadline(deadline time.Time) error { - f := w.w.(deadliner).SetWriteDeadline - if w.h.SetWriteDeadline != nil { - f = w.h.SetWriteDeadline(f) + if w.setWriteDeadline != nil { + return w.setWriteDeadline(deadline) } - return f(deadline) + return w.w.(deadliner).SetWriteDeadline(deadline) } func (w *rw) EnableFullDuplex() error { - f := w.w.(fullDuplexEnabler).EnableFullDuplex - if w.h.EnableFullDuplex != nil { - f = w.h.EnableFullDuplex(f) + if w.enableFullDuplex != nil { + return w.enableFullDuplex() } - return f() + return w.w.(fullDuplexEnabler).EnableFullDuplex() } func (w *rw) Push(target string, opts *http.PushOptions) error { - f := w.w.(http.Pusher).Push - if w.h.Push != nil { - f = w.h.Push(f) + if w.push != nil { + return w.push(target, opts) } - return f(target, opts) + return w.w.(http.Pusher).Push(target, opts) } func (w *rw) WriteString(s string) (int, error) { - f := w.w.(io.StringWriter).WriteString - if w.h.WriteString != nil { - f = w.h.WriteString(f) + if w.writeString != nil { + return w.writeString(s) } - return f(s) + return w.w.(io.StringWriter).WriteString(s) } type Unwrapper interface { From d9d9687f04f0d1194887d9ef72f6190a9f5e92a4 Mon Sep 17 00:00:00 2001 From: warnar boekkooi Date: Fri, 22 May 2026 08:51:55 +0200 Subject: [PATCH 6/8] refactor: reduce allocation by defining types A type is now created for each possible interface combination. Allowing Wrap to so a single allocation. --- codegen/main.go | 103 +- wrap_generated.go | 10270 ++++++++++++++++++++++++++++++++------------ 2 files changed, 7703 insertions(+), 2670 deletions(-) diff --git a/codegen/main.go b/codegen/main.go index 7e9dcad..3b0f193 100644 --- a/codegen/main.go +++ b/codegen/main.go @@ -95,52 +95,40 @@ type Hooks struct { // hooks can be used. `, strings.Join(docList, "\n")) g.Printf("func Wrap(w http.ResponseWriter, hooks Hooks) http.ResponseWriter {\n") - g.Printf("rw := &rw{w: w}\n") + g.Printf("state := &rwState{w: w}\n") // Precompute hook chains once per Wrap call. for _, fn := range ifaces[0].Funcs { g.Printf("if hooks.%s != nil {\n", fn.Name) - g.Printf("rw.%s = hooks.%s(w.%s)\n", fieldName(fn.Name), fn.Name, fn.Name) + g.Printf("state.%s = hooks.%s(w.%s)\n", fieldName(fn.Name), fn.Name, fn.Name) g.Printf("}\n") } for i, iface := range subIfaces { g.Printf("t%[1]d, i%[1]d := w.(%s)\n", i, iface.Name) for _, fn := range iface.Funcs { g.Printf("if i%d && hooks.%s != nil {\n", i, fn.Name) - g.Printf("rw.%s = hooks.%s(t%d.%s)\n", fieldName(fn.Name), fn.Name, i, fn.Name) + g.Printf("state.%s = hooks.%s(t%d.%s)\n", fieldName(fn.Name), fn.Name, i, fn.Name) g.Printf("}\n") } } - g.Printf("switch {\n") + // Build a uint8 combo index so the switch compiles to a jump table. + g.Printf("var combo uint8\n") + for i := range subIfaces { + bit := len(subIfaces) - i - 1 + g.Printf("if i%d { combo |= 1<<%d }\n", i, bit) + } + g.Printf("switch combo {\n") combinations := 1 << uint(len(subIfaces)) - for i := 0; i < combinations; i++ { - conditions := make([]string, len(subIfaces)) - fields := make([]string, 0, len(subIfaces)) - fields = append(fields, "Unwrapper", "http.ResponseWriter") - for j, iface := range subIfaces { - ok := i&(1< 0 - if !ok { - conditions[j] = "!" - } else { - fields = append(fields, iface.Name) - } - conditions[j] += fmt.Sprintf("i%d", j) - } - values := make([]string, len(fields)) - for i := range fields { - values[i] = "rw" - } - g.Printf("// combination %d/%d\n", i+1, combinations) - g.Printf("case %s:\n", strings.Join(conditions, "&&")) - fieldsS, valuesS := strings.Join(fields, "\n"), strings.Join(values, ",") - g.Printf("return struct{\n%s\n}{%s}\n", fieldsS, valuesS) + for c := 0; c < combinations; c++ { + g.Printf("case %d: return (*rw%d)(state)\n", c, c) } g.Printf("}\n") g.Printf("panic(\"unreachable\")") - g.Printf("}\n") + g.Printf("}\n\n") - // rw struct: caches one wrapped function per intercepted method. - // nil means no hook is installed; methods fall through to a direct call. - g.Printf("type rw struct {\n") + // rwState holds the underlying writer plus the precomputed hooks. + // All variant types are type-definitions over rwState, so a single *rwState + // allocation can be reinterpreted as any variant via pointer conversion. + g.Printf("type rwState struct {\n") g.Printf("w http.ResponseWriter\n") for _, iface := range ifaces { for _, fn := range iface.Funcs { @@ -148,25 +136,24 @@ type Hooks struct { } } g.Printf("}\n\n") - g.Printf(`func (w *rw) Unwrap() http.ResponseWriter { - return w.w -} -`) + // do helpers on *rwState + // These actual dispatch logic, defined once and called by the variant types. for _, iface := range ifaces { for _, fn := range iface.Funcs { - g.Printf("func (w *rw) %s(%s) (%s) {\n", fn.Name, fn.Args, fn.Returns) - g.Printf("if w.%s != nil {\n", fieldName(fn.Name)) + g.Printf("func (r *rwState) do%s(%s) (%s) {\n", fn.Name, fn.Args, fn.Returns) + g.Printf("if r.%s != nil {\n", fieldName(fn.Name)) if fn.Returns != "" { - g.Printf("return w.%s(%s)\n", fieldName(fn.Name), fn.Args.Names()) + g.Printf("return r.%s(%s)\n", fieldName(fn.Name), fn.Args.Names()) } else { - g.Printf("w.%s(%s)\n", fieldName(fn.Name), fn.Args.Names()) + g.Printf("r.%s(%s)\n", fieldName(fn.Name), fn.Args.Names()) g.Printf("return\n") } g.Printf("}\n") - receiver := "w.w" + + receiver := "r.w" if iface.Name != "http.ResponseWriter" { - receiver = fmt.Sprintf("w.w.(%s)", iface.Name) + receiver = fmt.Sprintf("r.w.(%s)", iface.Name) } if fn.Returns != "" { g.Printf("return %s.%s(%s)\n", receiver, fn.Name, fn.Args.Names()) @@ -176,6 +163,41 @@ type Hooks struct { g.Printf("}\n\n") } } + + // Variant types, each is a type with the same memory layout as rwState, + // but exposing exactly the method set required by its combination of interfaces. + // This allows (*rwN)(state) to be a zero-cost pointer conversion. + emitVariantMethod := func(c int, fn *InterfaceFunc) { + g.Printf("func (w *rw%d) %s(%s) (%s) {\n", c, fn.Name, fn.Args, fn.Returns) + if fn.Returns != "" { + g.Printf("return (*rwState)(w).do%s(%s)\n", fn.Name, fn.Args.Names()) + } else { + g.Printf("(*rwState)(w).do%s(%s)\n", fn.Name, fn.Args.Names()) + } + g.Printf("}\n") + } + for c := 0; c < combinations; c++ { + supported := []string{"http.ResponseWriter"} + for j, iface := range subIfaces { + if c&(1< 0 { + supported = append(supported, iface.Name) + } + } + g.Printf("// combination %d/%d: %s\n", c+1, combinations, strings.Join(supported, ", ")) + g.Printf("type rw%d rwState\n", c) + g.Printf("func (w *rw%d) Unwrap() http.ResponseWriter { return w.w }\n", c) + for _, fn := range ifaces[0].Funcs { + emitVariantMethod(c, fn) + } + for j, iface := range subIfaces { + if c&(1< 0 { + for _, fn := range iface.Funcs { + emitVariantMethod(c, fn) + } + } + } + g.Printf("\n") + } g.Printf(` type Unwrapper interface { Unwrap() http.ResponseWriter @@ -187,9 +209,8 @@ func Unwrap(w http.ResponseWriter) http.ResponseWriter { if rw, ok := w.(Unwrapper); ok { // recurse until rw.Unwrap() returns a non-Unwrapper return Unwrap(rw.Unwrap()) - } else { - return w } + return w } `) return &g diff --git a/wrap_generated.go b/wrap_generated.go index 81055ad..6064838 100644 --- a/wrap_generated.go +++ b/wrap_generated.go @@ -83,2617 +83,594 @@ type Hooks struct { // The CaptureMetrics implementation serves as a working example for how the // hooks can be used. func Wrap(w http.ResponseWriter, hooks Hooks) http.ResponseWriter { - rw := &rw{w: w} + state := &rwState{w: w} if hooks.Header != nil { - rw.header = hooks.Header(w.Header) + state.header = hooks.Header(w.Header) } if hooks.WriteHeader != nil { - rw.writeHeader = hooks.WriteHeader(w.WriteHeader) + state.writeHeader = hooks.WriteHeader(w.WriteHeader) } if hooks.Write != nil { - rw.write = hooks.Write(w.Write) + state.write = hooks.Write(w.Write) } t0, i0 := w.(http.Flusher) if i0 && hooks.Flush != nil { - rw.flush = hooks.Flush(t0.Flush) + state.flush = hooks.Flush(t0.Flush) } t1, i1 := w.(http.CloseNotifier) if i1 && hooks.CloseNotify != nil { - rw.closeNotify = hooks.CloseNotify(t1.CloseNotify) + state.closeNotify = hooks.CloseNotify(t1.CloseNotify) } t2, i2 := w.(http.Hijacker) if i2 && hooks.Hijack != nil { - rw.hijack = hooks.Hijack(t2.Hijack) + state.hijack = hooks.Hijack(t2.Hijack) } t3, i3 := w.(io.ReaderFrom) if i3 && hooks.ReadFrom != nil { - rw.readFrom = hooks.ReadFrom(t3.ReadFrom) + state.readFrom = hooks.ReadFrom(t3.ReadFrom) } t4, i4 := w.(deadliner) if i4 && hooks.SetReadDeadline != nil { - rw.setReadDeadline = hooks.SetReadDeadline(t4.SetReadDeadline) + state.setReadDeadline = hooks.SetReadDeadline(t4.SetReadDeadline) } if i4 && hooks.SetWriteDeadline != nil { - rw.setWriteDeadline = hooks.SetWriteDeadline(t4.SetWriteDeadline) + state.setWriteDeadline = hooks.SetWriteDeadline(t4.SetWriteDeadline) } t5, i5 := w.(fullDuplexEnabler) if i5 && hooks.EnableFullDuplex != nil { - rw.enableFullDuplex = hooks.EnableFullDuplex(t5.EnableFullDuplex) + state.enableFullDuplex = hooks.EnableFullDuplex(t5.EnableFullDuplex) } t6, i6 := w.(http.Pusher) if i6 && hooks.Push != nil { - rw.push = hooks.Push(t6.Push) + state.push = hooks.Push(t6.Push) } t7, i7 := w.(io.StringWriter) if i7 && hooks.WriteString != nil { - rw.writeString = hooks.WriteString(t7.WriteString) + state.writeString = hooks.WriteString(t7.WriteString) } - switch { - // combination 1/256 - case !i0 && !i1 && !i2 && !i3 && !i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - }{rw, rw} - // combination 2/256 - case !i0 && !i1 && !i2 && !i3 && !i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - io.StringWriter - }{rw, rw, rw} - // combination 3/256 - case !i0 && !i1 && !i2 && !i3 && !i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Pusher - }{rw, rw, rw} - // combination 4/256 - case !i0 && !i1 && !i2 && !i3 && !i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Pusher - io.StringWriter - }{rw, rw, rw, rw} - // combination 5/256 - case !i0 && !i1 && !i2 && !i3 && !i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - fullDuplexEnabler - }{rw, rw, rw} - // combination 6/256 - case !i0 && !i1 && !i2 && !i3 && !i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw} - // combination 7/256 - case !i0 && !i1 && !i2 && !i3 && !i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw} - // combination 8/256 - case !i0 && !i1 && !i2 && !i3 && !i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw} - // combination 9/256 - case !i0 && !i1 && !i2 && !i3 && i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - deadliner - }{rw, rw, rw} - // combination 10/256 - case !i0 && !i1 && !i2 && !i3 && i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - deadliner - io.StringWriter - }{rw, rw, rw, rw} - // combination 11/256 - case !i0 && !i1 && !i2 && !i3 && i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - deadliner - http.Pusher - }{rw, rw, rw, rw} - // combination 12/256 - case !i0 && !i1 && !i2 && !i3 && i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - deadliner - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw} - // combination 13/256 - case !i0 && !i1 && !i2 && !i3 && i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw} - // combination 14/256 - case !i0 && !i1 && !i2 && !i3 && i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - deadliner - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw} - // combination 15/256 - case !i0 && !i1 && !i2 && !i3 && i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 16/256 - case !i0 && !i1 && !i2 && !i3 && i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - deadliner - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 17/256 - case !i0 && !i1 && !i2 && i3 && !i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - }{rw, rw, rw} - // combination 18/256 - case !i0 && !i1 && !i2 && i3 && !i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - io.StringWriter - }{rw, rw, rw, rw} - // combination 19/256 - case !i0 && !i1 && !i2 && i3 && !i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - http.Pusher - }{rw, rw, rw, rw} - // combination 20/256 - case !i0 && !i1 && !i2 && i3 && !i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw} - // combination 21/256 - case !i0 && !i1 && !i2 && i3 && !i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw} - // combination 22/256 - case !i0 && !i1 && !i2 && i3 && !i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw} - // combination 23/256 - case !i0 && !i1 && !i2 && i3 && !i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 24/256 - case !i0 && !i1 && !i2 && i3 && !i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 25/256 - case !i0 && !i1 && !i2 && i3 && i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - deadliner - }{rw, rw, rw, rw} - // combination 26/256 - case !i0 && !i1 && !i2 && i3 && i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - deadliner - io.StringWriter - }{rw, rw, rw, rw, rw} - // combination 27/256 - case !i0 && !i1 && !i2 && i3 && i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - deadliner - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 28/256 - case !i0 && !i1 && !i2 && i3 && i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - deadliner - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 29/256 - case !i0 && !i1 && !i2 && i3 && i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 30/256 - case !i0 && !i1 && !i2 && i3 && i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - deadliner - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 31/256 - case !i0 && !i1 && !i2 && i3 && i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 32/256 - case !i0 && !i1 && !i2 && i3 && i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 33/256 - case !i0 && !i1 && i2 && !i3 && !i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - }{rw, rw, rw} - // combination 34/256 - case !i0 && !i1 && i2 && !i3 && !i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.StringWriter - }{rw, rw, rw, rw} - // combination 35/256 - case !i0 && !i1 && i2 && !i3 && !i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - http.Pusher - }{rw, rw, rw, rw} - // combination 36/256 - case !i0 && !i1 && i2 && !i3 && !i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw} - // combination 37/256 - case !i0 && !i1 && i2 && !i3 && !i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - fullDuplexEnabler - }{rw, rw, rw, rw} - // combination 38/256 - case !i0 && !i1 && i2 && !i3 && !i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw} - // combination 39/256 - case !i0 && !i1 && i2 && !i3 && !i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 40/256 - case !i0 && !i1 && i2 && !i3 && !i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 41/256 - case !i0 && !i1 && i2 && !i3 && i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - deadliner - }{rw, rw, rw, rw} - // combination 42/256 - case !i0 && !i1 && i2 && !i3 && i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - deadliner - io.StringWriter - }{rw, rw, rw, rw, rw} - // combination 43/256 - case !i0 && !i1 && i2 && !i3 && i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - deadliner - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 44/256 - case !i0 && !i1 && i2 && !i3 && i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - deadliner - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 45/256 - case !i0 && !i1 && i2 && !i3 && i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 46/256 - case !i0 && !i1 && i2 && !i3 && i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - deadliner - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 47/256 - case !i0 && !i1 && i2 && !i3 && i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 48/256 - case !i0 && !i1 && i2 && !i3 && i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - deadliner - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 49/256 - case !i0 && !i1 && i2 && i3 && !i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - }{rw, rw, rw, rw} - // combination 50/256 - case !i0 && !i1 && i2 && i3 && !i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - io.StringWriter - }{rw, rw, rw, rw, rw} - // combination 51/256 - case !i0 && !i1 && i2 && i3 && !i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 52/256 - case !i0 && !i1 && i2 && i3 && !i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 53/256 - case !i0 && !i1 && i2 && i3 && !i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 54/256 - case !i0 && !i1 && i2 && i3 && !i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 55/256 - case !i0 && !i1 && i2 && i3 && !i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 56/256 - case !i0 && !i1 && i2 && i3 && !i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 57/256 - case !i0 && !i1 && i2 && i3 && i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - deadliner - }{rw, rw, rw, rw, rw} - // combination 58/256 - case !i0 && !i1 && i2 && i3 && i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - deadliner - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 59/256 - case !i0 && !i1 && i2 && i3 && i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 60/256 - case !i0 && !i1 && i2 && i3 && i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - deadliner - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 61/256 - case !i0 && !i1 && i2 && i3 && i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 62/256 - case !i0 && !i1 && i2 && i3 && i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 63/256 - case !i0 && !i1 && i2 && i3 && i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 64/256 - case !i0 && !i1 && i2 && i3 && i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 65/256 - case !i0 && i1 && !i2 && !i3 && !i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - }{rw, rw, rw} - // combination 66/256 - case !i0 && i1 && !i2 && !i3 && !i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.StringWriter - }{rw, rw, rw, rw} - // combination 67/256 - case !i0 && i1 && !i2 && !i3 && !i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Pusher - }{rw, rw, rw, rw} - // combination 68/256 - case !i0 && i1 && !i2 && !i3 && !i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw} - // combination 69/256 - case !i0 && i1 && !i2 && !i3 && !i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - fullDuplexEnabler - }{rw, rw, rw, rw} - // combination 70/256 - case !i0 && i1 && !i2 && !i3 && !i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw} - // combination 71/256 - case !i0 && i1 && !i2 && !i3 && !i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 72/256 - case !i0 && i1 && !i2 && !i3 && !i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 73/256 - case !i0 && i1 && !i2 && !i3 && i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - deadliner - }{rw, rw, rw, rw} - // combination 74/256 - case !i0 && i1 && !i2 && !i3 && i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - deadliner - io.StringWriter - }{rw, rw, rw, rw, rw} - // combination 75/256 - case !i0 && i1 && !i2 && !i3 && i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - deadliner - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 76/256 - case !i0 && i1 && !i2 && !i3 && i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - deadliner - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 77/256 - case !i0 && i1 && !i2 && !i3 && i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 78/256 - case !i0 && i1 && !i2 && !i3 && i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - deadliner - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 79/256 - case !i0 && i1 && !i2 && !i3 && i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 80/256 - case !i0 && i1 && !i2 && !i3 && i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - deadliner - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 81/256 - case !i0 && i1 && !i2 && i3 && !i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - }{rw, rw, rw, rw} - // combination 82/256 - case !i0 && i1 && !i2 && i3 && !i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - io.StringWriter - }{rw, rw, rw, rw, rw} - // combination 83/256 - case !i0 && i1 && !i2 && i3 && !i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 84/256 - case !i0 && i1 && !i2 && i3 && !i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 85/256 - case !i0 && i1 && !i2 && i3 && !i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 86/256 - case !i0 && i1 && !i2 && i3 && !i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 87/256 - case !i0 && i1 && !i2 && i3 && !i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 88/256 - case !i0 && i1 && !i2 && i3 && !i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 89/256 - case !i0 && i1 && !i2 && i3 && i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - deadliner - }{rw, rw, rw, rw, rw} - // combination 90/256 - case !i0 && i1 && !i2 && i3 && i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - deadliner - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 91/256 - case !i0 && i1 && !i2 && i3 && i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 92/256 - case !i0 && i1 && !i2 && i3 && i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - deadliner - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 93/256 - case !i0 && i1 && !i2 && i3 && i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 94/256 - case !i0 && i1 && !i2 && i3 && i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - deadliner - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 95/256 - case !i0 && i1 && !i2 && i3 && i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 96/256 - case !i0 && i1 && !i2 && i3 && i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 97/256 - case !i0 && i1 && i2 && !i3 && !i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - }{rw, rw, rw, rw} - // combination 98/256 - case !i0 && i1 && i2 && !i3 && !i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.StringWriter - }{rw, rw, rw, rw, rw} - // combination 99/256 - case !i0 && i1 && i2 && !i3 && !i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 100/256 - case !i0 && i1 && i2 && !i3 && !i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 101/256 - case !i0 && i1 && i2 && !i3 && !i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 102/256 - case !i0 && i1 && i2 && !i3 && !i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 103/256 - case !i0 && i1 && i2 && !i3 && !i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 104/256 - case !i0 && i1 && i2 && !i3 && !i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 105/256 - case !i0 && i1 && i2 && !i3 && i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - deadliner - }{rw, rw, rw, rw, rw} - // combination 106/256 - case !i0 && i1 && i2 && !i3 && i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - deadliner - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 107/256 - case !i0 && i1 && i2 && !i3 && i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 108/256 - case !i0 && i1 && i2 && !i3 && i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - deadliner - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 109/256 - case !i0 && i1 && i2 && !i3 && i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 110/256 - case !i0 && i1 && i2 && !i3 && i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - deadliner - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 111/256 - case !i0 && i1 && i2 && !i3 && i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 112/256 - case !i0 && i1 && i2 && !i3 && i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - deadliner - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 113/256 - case !i0 && i1 && i2 && i3 && !i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - }{rw, rw, rw, rw, rw} - // combination 114/256 - case !i0 && i1 && i2 && i3 && !i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 115/256 - case !i0 && i1 && i2 && i3 && !i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 116/256 - case !i0 && i1 && i2 && i3 && !i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 117/256 - case !i0 && i1 && i2 && i3 && !i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 118/256 - case !i0 && i1 && i2 && i3 && !i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 119/256 - case !i0 && i1 && i2 && i3 && !i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 120/256 - case !i0 && i1 && i2 && i3 && !i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 121/256 - case !i0 && i1 && i2 && i3 && i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - }{rw, rw, rw, rw, rw, rw} - // combination 122/256 - case !i0 && i1 && i2 && i3 && i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 123/256 - case !i0 && i1 && i2 && i3 && i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 124/256 - case !i0 && i1 && i2 && i3 && i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 125/256 - case !i0 && i1 && i2 && i3 && i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw, rw} - // combination 126/256 - case !i0 && i1 && i2 && i3 && i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 127/256 - case !i0 && i1 && i2 && i3 && i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 128/256 - case !i0 && i1 && i2 && i3 && i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw, rw} - // combination 129/256 - case i0 && !i1 && !i2 && !i3 && !i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - }{rw, rw, rw} - // combination 130/256 - case i0 && !i1 && !i2 && !i3 && !i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.StringWriter - }{rw, rw, rw, rw} - // combination 131/256 - case i0 && !i1 && !i2 && !i3 && !i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Pusher - }{rw, rw, rw, rw} - // combination 132/256 - case i0 && !i1 && !i2 && !i3 && !i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw} - // combination 133/256 - case i0 && !i1 && !i2 && !i3 && !i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - fullDuplexEnabler - }{rw, rw, rw, rw} - // combination 134/256 - case i0 && !i1 && !i2 && !i3 && !i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw} - // combination 135/256 - case i0 && !i1 && !i2 && !i3 && !i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 136/256 - case i0 && !i1 && !i2 && !i3 && !i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 137/256 - case i0 && !i1 && !i2 && !i3 && i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - deadliner - }{rw, rw, rw, rw} - // combination 138/256 - case i0 && !i1 && !i2 && !i3 && i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - deadliner - io.StringWriter - }{rw, rw, rw, rw, rw} - // combination 139/256 - case i0 && !i1 && !i2 && !i3 && i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - deadliner - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 140/256 - case i0 && !i1 && !i2 && !i3 && i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - deadliner - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 141/256 - case i0 && !i1 && !i2 && !i3 && i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 142/256 - case i0 && !i1 && !i2 && !i3 && i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - deadliner - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 143/256 - case i0 && !i1 && !i2 && !i3 && i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 144/256 - case i0 && !i1 && !i2 && !i3 && i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - deadliner - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 145/256 - case i0 && !i1 && !i2 && i3 && !i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - }{rw, rw, rw, rw} - // combination 146/256 - case i0 && !i1 && !i2 && i3 && !i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - io.StringWriter - }{rw, rw, rw, rw, rw} - // combination 147/256 - case i0 && !i1 && !i2 && i3 && !i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 148/256 - case i0 && !i1 && !i2 && i3 && !i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 149/256 - case i0 && !i1 && !i2 && i3 && !i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 150/256 - case i0 && !i1 && !i2 && i3 && !i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 151/256 - case i0 && !i1 && !i2 && i3 && !i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 152/256 - case i0 && !i1 && !i2 && i3 && !i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 153/256 - case i0 && !i1 && !i2 && i3 && i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - deadliner - }{rw, rw, rw, rw, rw} - // combination 154/256 - case i0 && !i1 && !i2 && i3 && i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - deadliner - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 155/256 - case i0 && !i1 && !i2 && i3 && i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 156/256 - case i0 && !i1 && !i2 && i3 && i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - deadliner - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 157/256 - case i0 && !i1 && !i2 && i3 && i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 158/256 - case i0 && !i1 && !i2 && i3 && i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - deadliner - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 159/256 - case i0 && !i1 && !i2 && i3 && i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 160/256 - case i0 && !i1 && !i2 && i3 && i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 161/256 - case i0 && !i1 && i2 && !i3 && !i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - }{rw, rw, rw, rw} - // combination 162/256 - case i0 && !i1 && i2 && !i3 && !i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.StringWriter - }{rw, rw, rw, rw, rw} - // combination 163/256 - case i0 && !i1 && i2 && !i3 && !i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 164/256 - case i0 && !i1 && i2 && !i3 && !i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 165/256 - case i0 && !i1 && i2 && !i3 && !i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 166/256 - case i0 && !i1 && i2 && !i3 && !i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 167/256 - case i0 && !i1 && i2 && !i3 && !i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 168/256 - case i0 && !i1 && i2 && !i3 && !i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 169/256 - case i0 && !i1 && i2 && !i3 && i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - deadliner - }{rw, rw, rw, rw, rw} - // combination 170/256 - case i0 && !i1 && i2 && !i3 && i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - deadliner - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 171/256 - case i0 && !i1 && i2 && !i3 && i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 172/256 - case i0 && !i1 && i2 && !i3 && i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - deadliner - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 173/256 - case i0 && !i1 && i2 && !i3 && i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 174/256 - case i0 && !i1 && i2 && !i3 && i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - deadliner - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 175/256 - case i0 && !i1 && i2 && !i3 && i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 176/256 - case i0 && !i1 && i2 && !i3 && i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - deadliner - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 177/256 - case i0 && !i1 && i2 && i3 && !i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - }{rw, rw, rw, rw, rw} - // combination 178/256 - case i0 && !i1 && i2 && i3 && !i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 179/256 - case i0 && !i1 && i2 && i3 && !i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 180/256 - case i0 && !i1 && i2 && i3 && !i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 181/256 - case i0 && !i1 && i2 && i3 && !i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 182/256 - case i0 && !i1 && i2 && i3 && !i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 183/256 - case i0 && !i1 && i2 && i3 && !i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 184/256 - case i0 && !i1 && i2 && i3 && !i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 185/256 - case i0 && !i1 && i2 && i3 && i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - deadliner - }{rw, rw, rw, rw, rw, rw} - // combination 186/256 - case i0 && !i1 && i2 && i3 && i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - deadliner - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 187/256 - case i0 && !i1 && i2 && i3 && i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 188/256 - case i0 && !i1 && i2 && i3 && i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - deadliner - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 189/256 - case i0 && !i1 && i2 && i3 && i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw, rw} - // combination 190/256 - case i0 && !i1 && i2 && i3 && i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 191/256 - case i0 && !i1 && i2 && i3 && i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 192/256 - case i0 && !i1 && i2 && i3 && i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw, rw} - // combination 193/256 - case i0 && i1 && !i2 && !i3 && !i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - }{rw, rw, rw, rw} - // combination 194/256 - case i0 && i1 && !i2 && !i3 && !i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.StringWriter - }{rw, rw, rw, rw, rw} - // combination 195/256 - case i0 && i1 && !i2 && !i3 && !i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Pusher - }{rw, rw, rw, rw, rw} - // combination 196/256 - case i0 && i1 && !i2 && !i3 && !i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 197/256 - case i0 && i1 && !i2 && !i3 && !i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - fullDuplexEnabler - }{rw, rw, rw, rw, rw} - // combination 198/256 - case i0 && i1 && !i2 && !i3 && !i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 199/256 - case i0 && i1 && !i2 && !i3 && !i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 200/256 - case i0 && i1 && !i2 && !i3 && !i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 201/256 - case i0 && i1 && !i2 && !i3 && i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - deadliner - }{rw, rw, rw, rw, rw} - // combination 202/256 - case i0 && i1 && !i2 && !i3 && i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - deadliner - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 203/256 - case i0 && i1 && !i2 && !i3 && i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 204/256 - case i0 && i1 && !i2 && !i3 && i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - deadliner - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 205/256 - case i0 && i1 && !i2 && !i3 && i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 206/256 - case i0 && i1 && !i2 && !i3 && i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - deadliner - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 207/256 - case i0 && i1 && !i2 && !i3 && i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 208/256 - case i0 && i1 && !i2 && !i3 && i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - deadliner - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 209/256 - case i0 && i1 && !i2 && i3 && !i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - }{rw, rw, rw, rw, rw} - // combination 210/256 - case i0 && i1 && !i2 && i3 && !i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 211/256 - case i0 && i1 && !i2 && i3 && !i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 212/256 - case i0 && i1 && !i2 && i3 && !i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 213/256 - case i0 && i1 && !i2 && i3 && !i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 214/256 - case i0 && i1 && !i2 && i3 && !i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 215/256 - case i0 && i1 && !i2 && i3 && !i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 216/256 - case i0 && i1 && !i2 && i3 && !i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 217/256 - case i0 && i1 && !i2 && i3 && i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - deadliner - }{rw, rw, rw, rw, rw, rw} - // combination 218/256 - case i0 && i1 && !i2 && i3 && i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - deadliner - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 219/256 - case i0 && i1 && !i2 && i3 && i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 220/256 - case i0 && i1 && !i2 && i3 && i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - deadliner - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 221/256 - case i0 && i1 && !i2 && i3 && i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw, rw} - // combination 222/256 - case i0 && i1 && !i2 && i3 && i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - deadliner - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 223/256 - case i0 && i1 && !i2 && i3 && i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 224/256 - case i0 && i1 && !i2 && i3 && i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw, rw} - // combination 225/256 - case i0 && i1 && i2 && !i3 && !i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - }{rw, rw, rw, rw, rw} - // combination 226/256 - case i0 && i1 && i2 && !i3 && !i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.StringWriter - }{rw, rw, rw, rw, rw, rw} - // combination 227/256 - case i0 && i1 && i2 && !i3 && !i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - http.Pusher - }{rw, rw, rw, rw, rw, rw} - // combination 228/256 - case i0 && i1 && i2 && !i3 && !i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 229/256 - case i0 && i1 && i2 && !i3 && !i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw} - // combination 230/256 - case i0 && i1 && i2 && !i3 && !i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 231/256 - case i0 && i1 && i2 && !i3 && !i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 232/256 - case i0 && i1 && i2 && !i3 && !i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 233/256 - case i0 && i1 && i2 && !i3 && i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - deadliner - }{rw, rw, rw, rw, rw, rw} - // combination 234/256 - case i0 && i1 && i2 && !i3 && i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - deadliner - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 235/256 - case i0 && i1 && i2 && !i3 && i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 236/256 - case i0 && i1 && i2 && !i3 && i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - deadliner - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 237/256 - case i0 && i1 && i2 && !i3 && i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw, rw} - // combination 238/256 - case i0 && i1 && i2 && !i3 && i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - deadliner - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 239/256 - case i0 && i1 && i2 && !i3 && i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 240/256 - case i0 && i1 && i2 && !i3 && i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - deadliner - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw, rw} - // combination 241/256 - case i0 && i1 && i2 && i3 && !i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - }{rw, rw, rw, rw, rw, rw} - // combination 242/256 - case i0 && i1 && i2 && i3 && !i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw} - // combination 243/256 - case i0 && i1 && i2 && i3 && !i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw} - // combination 244/256 - case i0 && i1 && i2 && i3 && !i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 245/256 - case i0 && i1 && i2 && i3 && !i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw, rw} - // combination 246/256 - case i0 && i1 && i2 && i3 && !i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 247/256 - case i0 && i1 && i2 && i3 && !i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 248/256 - case i0 && i1 && i2 && i3 && !i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw, rw} - // combination 249/256 - case i0 && i1 && i2 && i3 && i4 && !i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - }{rw, rw, rw, rw, rw, rw, rw} - // combination 250/256 - case i0 && i1 && i2 && i3 && i4 && !i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 251/256 - case i0 && i1 && i2 && i3 && i4 && !i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 252/256 - case i0 && i1 && i2 && i3 && i4 && !i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw, rw} - // combination 253/256 - case i0 && i1 && i2 && i3 && i4 && i5 && !i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - }{rw, rw, rw, rw, rw, rw, rw, rw} - // combination 254/256 - case i0 && i1 && i2 && i3 && i4 && i5 && !i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw, rw} - // combination 255/256 - case i0 && i1 && i2 && i3 && i4 && i5 && i6 && !i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - }{rw, rw, rw, rw, rw, rw, rw, rw, rw} - // combination 256/256 - case i0 && i1 && i2 && i3 && i4 && i5 && i6 && i7: - return struct { - Unwrapper - http.ResponseWriter - http.Flusher - http.CloseNotifier - http.Hijacker - io.ReaderFrom - deadliner - fullDuplexEnabler - http.Pusher - io.StringWriter - }{rw, rw, rw, rw, rw, rw, rw, rw, rw, rw} + var combo uint8 + if i0 { + combo |= 1 << 7 + } + if i1 { + combo |= 1 << 6 + } + if i2 { + combo |= 1 << 5 + } + if i3 { + combo |= 1 << 4 + } + if i4 { + combo |= 1 << 3 + } + if i5 { + combo |= 1 << 2 + } + if i6 { + combo |= 1 << 1 + } + if i7 { + combo |= 1 << 0 + } + switch combo { + case 0: + return (*rw0)(state) + case 1: + return (*rw1)(state) + case 2: + return (*rw2)(state) + case 3: + return (*rw3)(state) + case 4: + return (*rw4)(state) + case 5: + return (*rw5)(state) + case 6: + return (*rw6)(state) + case 7: + return (*rw7)(state) + case 8: + return (*rw8)(state) + case 9: + return (*rw9)(state) + case 10: + return (*rw10)(state) + case 11: + return (*rw11)(state) + case 12: + return (*rw12)(state) + case 13: + return (*rw13)(state) + case 14: + return (*rw14)(state) + case 15: + return (*rw15)(state) + case 16: + return (*rw16)(state) + case 17: + return (*rw17)(state) + case 18: + return (*rw18)(state) + case 19: + return (*rw19)(state) + case 20: + return (*rw20)(state) + case 21: + return (*rw21)(state) + case 22: + return (*rw22)(state) + case 23: + return (*rw23)(state) + case 24: + return (*rw24)(state) + case 25: + return (*rw25)(state) + case 26: + return (*rw26)(state) + case 27: + return (*rw27)(state) + case 28: + return (*rw28)(state) + case 29: + return (*rw29)(state) + case 30: + return (*rw30)(state) + case 31: + return (*rw31)(state) + case 32: + return (*rw32)(state) + case 33: + return (*rw33)(state) + case 34: + return (*rw34)(state) + case 35: + return (*rw35)(state) + case 36: + return (*rw36)(state) + case 37: + return (*rw37)(state) + case 38: + return (*rw38)(state) + case 39: + return (*rw39)(state) + case 40: + return (*rw40)(state) + case 41: + return (*rw41)(state) + case 42: + return (*rw42)(state) + case 43: + return (*rw43)(state) + case 44: + return (*rw44)(state) + case 45: + return (*rw45)(state) + case 46: + return (*rw46)(state) + case 47: + return (*rw47)(state) + case 48: + return (*rw48)(state) + case 49: + return (*rw49)(state) + case 50: + return (*rw50)(state) + case 51: + return (*rw51)(state) + case 52: + return (*rw52)(state) + case 53: + return (*rw53)(state) + case 54: + return (*rw54)(state) + case 55: + return (*rw55)(state) + case 56: + return (*rw56)(state) + case 57: + return (*rw57)(state) + case 58: + return (*rw58)(state) + case 59: + return (*rw59)(state) + case 60: + return (*rw60)(state) + case 61: + return (*rw61)(state) + case 62: + return (*rw62)(state) + case 63: + return (*rw63)(state) + case 64: + return (*rw64)(state) + case 65: + return (*rw65)(state) + case 66: + return (*rw66)(state) + case 67: + return (*rw67)(state) + case 68: + return (*rw68)(state) + case 69: + return (*rw69)(state) + case 70: + return (*rw70)(state) + case 71: + return (*rw71)(state) + case 72: + return (*rw72)(state) + case 73: + return (*rw73)(state) + case 74: + return (*rw74)(state) + case 75: + return (*rw75)(state) + case 76: + return (*rw76)(state) + case 77: + return (*rw77)(state) + case 78: + return (*rw78)(state) + case 79: + return (*rw79)(state) + case 80: + return (*rw80)(state) + case 81: + return (*rw81)(state) + case 82: + return (*rw82)(state) + case 83: + return (*rw83)(state) + case 84: + return (*rw84)(state) + case 85: + return (*rw85)(state) + case 86: + return (*rw86)(state) + case 87: + return (*rw87)(state) + case 88: + return (*rw88)(state) + case 89: + return (*rw89)(state) + case 90: + return (*rw90)(state) + case 91: + return (*rw91)(state) + case 92: + return (*rw92)(state) + case 93: + return (*rw93)(state) + case 94: + return (*rw94)(state) + case 95: + return (*rw95)(state) + case 96: + return (*rw96)(state) + case 97: + return (*rw97)(state) + case 98: + return (*rw98)(state) + case 99: + return (*rw99)(state) + case 100: + return (*rw100)(state) + case 101: + return (*rw101)(state) + case 102: + return (*rw102)(state) + case 103: + return (*rw103)(state) + case 104: + return (*rw104)(state) + case 105: + return (*rw105)(state) + case 106: + return (*rw106)(state) + case 107: + return (*rw107)(state) + case 108: + return (*rw108)(state) + case 109: + return (*rw109)(state) + case 110: + return (*rw110)(state) + case 111: + return (*rw111)(state) + case 112: + return (*rw112)(state) + case 113: + return (*rw113)(state) + case 114: + return (*rw114)(state) + case 115: + return (*rw115)(state) + case 116: + return (*rw116)(state) + case 117: + return (*rw117)(state) + case 118: + return (*rw118)(state) + case 119: + return (*rw119)(state) + case 120: + return (*rw120)(state) + case 121: + return (*rw121)(state) + case 122: + return (*rw122)(state) + case 123: + return (*rw123)(state) + case 124: + return (*rw124)(state) + case 125: + return (*rw125)(state) + case 126: + return (*rw126)(state) + case 127: + return (*rw127)(state) + case 128: + return (*rw128)(state) + case 129: + return (*rw129)(state) + case 130: + return (*rw130)(state) + case 131: + return (*rw131)(state) + case 132: + return (*rw132)(state) + case 133: + return (*rw133)(state) + case 134: + return (*rw134)(state) + case 135: + return (*rw135)(state) + case 136: + return (*rw136)(state) + case 137: + return (*rw137)(state) + case 138: + return (*rw138)(state) + case 139: + return (*rw139)(state) + case 140: + return (*rw140)(state) + case 141: + return (*rw141)(state) + case 142: + return (*rw142)(state) + case 143: + return (*rw143)(state) + case 144: + return (*rw144)(state) + case 145: + return (*rw145)(state) + case 146: + return (*rw146)(state) + case 147: + return (*rw147)(state) + case 148: + return (*rw148)(state) + case 149: + return (*rw149)(state) + case 150: + return (*rw150)(state) + case 151: + return (*rw151)(state) + case 152: + return (*rw152)(state) + case 153: + return (*rw153)(state) + case 154: + return (*rw154)(state) + case 155: + return (*rw155)(state) + case 156: + return (*rw156)(state) + case 157: + return (*rw157)(state) + case 158: + return (*rw158)(state) + case 159: + return (*rw159)(state) + case 160: + return (*rw160)(state) + case 161: + return (*rw161)(state) + case 162: + return (*rw162)(state) + case 163: + return (*rw163)(state) + case 164: + return (*rw164)(state) + case 165: + return (*rw165)(state) + case 166: + return (*rw166)(state) + case 167: + return (*rw167)(state) + case 168: + return (*rw168)(state) + case 169: + return (*rw169)(state) + case 170: + return (*rw170)(state) + case 171: + return (*rw171)(state) + case 172: + return (*rw172)(state) + case 173: + return (*rw173)(state) + case 174: + return (*rw174)(state) + case 175: + return (*rw175)(state) + case 176: + return (*rw176)(state) + case 177: + return (*rw177)(state) + case 178: + return (*rw178)(state) + case 179: + return (*rw179)(state) + case 180: + return (*rw180)(state) + case 181: + return (*rw181)(state) + case 182: + return (*rw182)(state) + case 183: + return (*rw183)(state) + case 184: + return (*rw184)(state) + case 185: + return (*rw185)(state) + case 186: + return (*rw186)(state) + case 187: + return (*rw187)(state) + case 188: + return (*rw188)(state) + case 189: + return (*rw189)(state) + case 190: + return (*rw190)(state) + case 191: + return (*rw191)(state) + case 192: + return (*rw192)(state) + case 193: + return (*rw193)(state) + case 194: + return (*rw194)(state) + case 195: + return (*rw195)(state) + case 196: + return (*rw196)(state) + case 197: + return (*rw197)(state) + case 198: + return (*rw198)(state) + case 199: + return (*rw199)(state) + case 200: + return (*rw200)(state) + case 201: + return (*rw201)(state) + case 202: + return (*rw202)(state) + case 203: + return (*rw203)(state) + case 204: + return (*rw204)(state) + case 205: + return (*rw205)(state) + case 206: + return (*rw206)(state) + case 207: + return (*rw207)(state) + case 208: + return (*rw208)(state) + case 209: + return (*rw209)(state) + case 210: + return (*rw210)(state) + case 211: + return (*rw211)(state) + case 212: + return (*rw212)(state) + case 213: + return (*rw213)(state) + case 214: + return (*rw214)(state) + case 215: + return (*rw215)(state) + case 216: + return (*rw216)(state) + case 217: + return (*rw217)(state) + case 218: + return (*rw218)(state) + case 219: + return (*rw219)(state) + case 220: + return (*rw220)(state) + case 221: + return (*rw221)(state) + case 222: + return (*rw222)(state) + case 223: + return (*rw223)(state) + case 224: + return (*rw224)(state) + case 225: + return (*rw225)(state) + case 226: + return (*rw226)(state) + case 227: + return (*rw227)(state) + case 228: + return (*rw228)(state) + case 229: + return (*rw229)(state) + case 230: + return (*rw230)(state) + case 231: + return (*rw231)(state) + case 232: + return (*rw232)(state) + case 233: + return (*rw233)(state) + case 234: + return (*rw234)(state) + case 235: + return (*rw235)(state) + case 236: + return (*rw236)(state) + case 237: + return (*rw237)(state) + case 238: + return (*rw238)(state) + case 239: + return (*rw239)(state) + case 240: + return (*rw240)(state) + case 241: + return (*rw241)(state) + case 242: + return (*rw242)(state) + case 243: + return (*rw243)(state) + case 244: + return (*rw244)(state) + case 245: + return (*rw245)(state) + case 246: + return (*rw246)(state) + case 247: + return (*rw247)(state) + case 248: + return (*rw248)(state) + case 249: + return (*rw249)(state) + case 250: + return (*rw250)(state) + case 251: + return (*rw251)(state) + case 252: + return (*rw252)(state) + case 253: + return (*rw253)(state) + case 254: + return (*rw254)(state) + case 255: + return (*rw255)(state) } panic("unreachable") } -type rw struct { +type rwState struct { w http.ResponseWriter header HeaderFunc writeHeader WriteHeaderFunc @@ -2709,94 +686,7130 @@ type rw struct { writeString WriteStringFunc } -func (w *rw) Unwrap() http.ResponseWriter { - return w.w -} - -func (w *rw) Header() http.Header { - if w.header != nil { - return w.header() +func (r *rwState) doHeader() http.Header { + if r.header != nil { + return r.header() } - return w.w.Header() + return r.w.Header() } -func (w *rw) WriteHeader(code int) { - if w.writeHeader != nil { - w.writeHeader(code) +func (r *rwState) doWriteHeader(code int) { + if r.writeHeader != nil { + r.writeHeader(code) return } - w.w.WriteHeader(code) + r.w.WriteHeader(code) } -func (w *rw) Write(b []byte) (int, error) { - if w.write != nil { - return w.write(b) +func (r *rwState) doWrite(b []byte) (int, error) { + if r.write != nil { + return r.write(b) } - return w.w.Write(b) + return r.w.Write(b) } -func (w *rw) Flush() { - if w.flush != nil { - w.flush() +func (r *rwState) doFlush() { + if r.flush != nil { + r.flush() return } - w.w.(http.Flusher).Flush() + r.w.(http.Flusher).Flush() } -func (w *rw) CloseNotify() <-chan bool { - if w.closeNotify != nil { - return w.closeNotify() +func (r *rwState) doCloseNotify() <-chan bool { + if r.closeNotify != nil { + return r.closeNotify() } - return w.w.(http.CloseNotifier).CloseNotify() + return r.w.(http.CloseNotifier).CloseNotify() } -func (w *rw) Hijack() (net.Conn, *bufio.ReadWriter, error) { - if w.hijack != nil { - return w.hijack() +func (r *rwState) doHijack() (net.Conn, *bufio.ReadWriter, error) { + if r.hijack != nil { + return r.hijack() } - return w.w.(http.Hijacker).Hijack() + return r.w.(http.Hijacker).Hijack() } -func (w *rw) ReadFrom(src io.Reader) (int64, error) { - if w.readFrom != nil { - return w.readFrom(src) +func (r *rwState) doReadFrom(src io.Reader) (int64, error) { + if r.readFrom != nil { + return r.readFrom(src) } - return w.w.(io.ReaderFrom).ReadFrom(src) + return r.w.(io.ReaderFrom).ReadFrom(src) } -func (w *rw) SetReadDeadline(deadline time.Time) error { - if w.setReadDeadline != nil { - return w.setReadDeadline(deadline) +func (r *rwState) doSetReadDeadline(deadline time.Time) error { + if r.setReadDeadline != nil { + return r.setReadDeadline(deadline) } - return w.w.(deadliner).SetReadDeadline(deadline) + return r.w.(deadliner).SetReadDeadline(deadline) } -func (w *rw) SetWriteDeadline(deadline time.Time) error { - if w.setWriteDeadline != nil { - return w.setWriteDeadline(deadline) +func (r *rwState) doSetWriteDeadline(deadline time.Time) error { + if r.setWriteDeadline != nil { + return r.setWriteDeadline(deadline) } - return w.w.(deadliner).SetWriteDeadline(deadline) + return r.w.(deadliner).SetWriteDeadline(deadline) } -func (w *rw) EnableFullDuplex() error { - if w.enableFullDuplex != nil { - return w.enableFullDuplex() +func (r *rwState) doEnableFullDuplex() error { + if r.enableFullDuplex != nil { + return r.enableFullDuplex() } - return w.w.(fullDuplexEnabler).EnableFullDuplex() + return r.w.(fullDuplexEnabler).EnableFullDuplex() } -func (w *rw) Push(target string, opts *http.PushOptions) error { - if w.push != nil { - return w.push(target, opts) +func (r *rwState) doPush(target string, opts *http.PushOptions) error { + if r.push != nil { + return r.push(target, opts) } - return w.w.(http.Pusher).Push(target, opts) + return r.w.(http.Pusher).Push(target, opts) } -func (w *rw) WriteString(s string) (int, error) { - if w.writeString != nil { - return w.writeString(s) +func (r *rwState) doWriteString(s string) (int, error) { + if r.writeString != nil { + return r.writeString(s) } - return w.w.(io.StringWriter).WriteString(s) + return r.w.(io.StringWriter).WriteString(s) +} + +// combination 1/256: http.ResponseWriter +type rw0 rwState + +func (w *rw0) Unwrap() http.ResponseWriter { return w.w } +func (w *rw0) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw0) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw0) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} + +// combination 2/256: http.ResponseWriter, io.StringWriter +type rw1 rwState + +func (w *rw1) Unwrap() http.ResponseWriter { return w.w } +func (w *rw1) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw1) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw1) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw1) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 3/256: http.ResponseWriter, http.Pusher +type rw2 rwState + +func (w *rw2) Unwrap() http.ResponseWriter { return w.w } +func (w *rw2) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw2) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw2) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw2) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 4/256: http.ResponseWriter, http.Pusher, io.StringWriter +type rw3 rwState + +func (w *rw3) Unwrap() http.ResponseWriter { return w.w } +func (w *rw3) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw3) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw3) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw3) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw3) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 5/256: http.ResponseWriter, fullDuplexEnabler +type rw4 rwState + +func (w *rw4) Unwrap() http.ResponseWriter { return w.w } +func (w *rw4) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw4) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw4) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw4) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 6/256: http.ResponseWriter, fullDuplexEnabler, io.StringWriter +type rw5 rwState + +func (w *rw5) Unwrap() http.ResponseWriter { return w.w } +func (w *rw5) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw5) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw5) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw5) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw5) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 7/256: http.ResponseWriter, fullDuplexEnabler, http.Pusher +type rw6 rwState + +func (w *rw6) Unwrap() http.ResponseWriter { return w.w } +func (w *rw6) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw6) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw6) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw6) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw6) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 8/256: http.ResponseWriter, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw7 rwState + +func (w *rw7) Unwrap() http.ResponseWriter { return w.w } +func (w *rw7) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw7) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw7) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw7) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw7) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw7) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 9/256: http.ResponseWriter, deadliner +type rw8 rwState + +func (w *rw8) Unwrap() http.ResponseWriter { return w.w } +func (w *rw8) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw8) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw8) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw8) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw8) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} + +// combination 10/256: http.ResponseWriter, deadliner, io.StringWriter +type rw9 rwState + +func (w *rw9) Unwrap() http.ResponseWriter { return w.w } +func (w *rw9) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw9) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw9) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw9) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw9) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw9) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 11/256: http.ResponseWriter, deadliner, http.Pusher +type rw10 rwState + +func (w *rw10) Unwrap() http.ResponseWriter { return w.w } +func (w *rw10) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw10) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw10) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw10) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw10) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw10) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 12/256: http.ResponseWriter, deadliner, http.Pusher, io.StringWriter +type rw11 rwState + +func (w *rw11) Unwrap() http.ResponseWriter { return w.w } +func (w *rw11) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw11) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw11) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw11) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw11) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw11) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw11) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 13/256: http.ResponseWriter, deadliner, fullDuplexEnabler +type rw12 rwState + +func (w *rw12) Unwrap() http.ResponseWriter { return w.w } +func (w *rw12) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw12) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw12) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw12) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw12) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw12) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 14/256: http.ResponseWriter, deadliner, fullDuplexEnabler, io.StringWriter +type rw13 rwState + +func (w *rw13) Unwrap() http.ResponseWriter { return w.w } +func (w *rw13) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw13) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw13) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw13) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw13) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw13) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw13) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 15/256: http.ResponseWriter, deadliner, fullDuplexEnabler, http.Pusher +type rw14 rwState + +func (w *rw14) Unwrap() http.ResponseWriter { return w.w } +func (w *rw14) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw14) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw14) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw14) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw14) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw14) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw14) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 16/256: http.ResponseWriter, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw15 rwState + +func (w *rw15) Unwrap() http.ResponseWriter { return w.w } +func (w *rw15) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw15) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw15) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw15) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw15) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw15) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw15) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw15) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 17/256: http.ResponseWriter, io.ReaderFrom +type rw16 rwState + +func (w *rw16) Unwrap() http.ResponseWriter { return w.w } +func (w *rw16) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw16) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw16) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw16) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} + +// combination 18/256: http.ResponseWriter, io.ReaderFrom, io.StringWriter +type rw17 rwState + +func (w *rw17) Unwrap() http.ResponseWriter { return w.w } +func (w *rw17) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw17) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw17) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw17) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw17) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 19/256: http.ResponseWriter, io.ReaderFrom, http.Pusher +type rw18 rwState + +func (w *rw18) Unwrap() http.ResponseWriter { return w.w } +func (w *rw18) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw18) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw18) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw18) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw18) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 20/256: http.ResponseWriter, io.ReaderFrom, http.Pusher, io.StringWriter +type rw19 rwState + +func (w *rw19) Unwrap() http.ResponseWriter { return w.w } +func (w *rw19) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw19) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw19) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw19) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw19) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw19) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 21/256: http.ResponseWriter, io.ReaderFrom, fullDuplexEnabler +type rw20 rwState + +func (w *rw20) Unwrap() http.ResponseWriter { return w.w } +func (w *rw20) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw20) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw20) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw20) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw20) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 22/256: http.ResponseWriter, io.ReaderFrom, fullDuplexEnabler, io.StringWriter +type rw21 rwState + +func (w *rw21) Unwrap() http.ResponseWriter { return w.w } +func (w *rw21) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw21) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw21) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw21) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw21) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw21) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 23/256: http.ResponseWriter, io.ReaderFrom, fullDuplexEnabler, http.Pusher +type rw22 rwState + +func (w *rw22) Unwrap() http.ResponseWriter { return w.w } +func (w *rw22) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw22) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw22) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw22) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw22) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw22) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 24/256: http.ResponseWriter, io.ReaderFrom, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw23 rwState + +func (w *rw23) Unwrap() http.ResponseWriter { return w.w } +func (w *rw23) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw23) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw23) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw23) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw23) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw23) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw23) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 25/256: http.ResponseWriter, io.ReaderFrom, deadliner +type rw24 rwState + +func (w *rw24) Unwrap() http.ResponseWriter { return w.w } +func (w *rw24) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw24) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw24) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw24) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw24) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw24) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} + +// combination 26/256: http.ResponseWriter, io.ReaderFrom, deadliner, io.StringWriter +type rw25 rwState + +func (w *rw25) Unwrap() http.ResponseWriter { return w.w } +func (w *rw25) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw25) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw25) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw25) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw25) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw25) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw25) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 27/256: http.ResponseWriter, io.ReaderFrom, deadliner, http.Pusher +type rw26 rwState + +func (w *rw26) Unwrap() http.ResponseWriter { return w.w } +func (w *rw26) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw26) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw26) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw26) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw26) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw26) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw26) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 28/256: http.ResponseWriter, io.ReaderFrom, deadliner, http.Pusher, io.StringWriter +type rw27 rwState + +func (w *rw27) Unwrap() http.ResponseWriter { return w.w } +func (w *rw27) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw27) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw27) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw27) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw27) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw27) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw27) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw27) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 29/256: http.ResponseWriter, io.ReaderFrom, deadliner, fullDuplexEnabler +type rw28 rwState + +func (w *rw28) Unwrap() http.ResponseWriter { return w.w } +func (w *rw28) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw28) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw28) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw28) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw28) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw28) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw28) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 30/256: http.ResponseWriter, io.ReaderFrom, deadliner, fullDuplexEnabler, io.StringWriter +type rw29 rwState + +func (w *rw29) Unwrap() http.ResponseWriter { return w.w } +func (w *rw29) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw29) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw29) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw29) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw29) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw29) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw29) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw29) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 31/256: http.ResponseWriter, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher +type rw30 rwState + +func (w *rw30) Unwrap() http.ResponseWriter { return w.w } +func (w *rw30) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw30) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw30) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw30) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw30) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw30) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw30) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw30) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 32/256: http.ResponseWriter, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw31 rwState + +func (w *rw31) Unwrap() http.ResponseWriter { return w.w } +func (w *rw31) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw31) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw31) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw31) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw31) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw31) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw31) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw31) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw31) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 33/256: http.ResponseWriter, http.Hijacker +type rw32 rwState + +func (w *rw32) Unwrap() http.ResponseWriter { return w.w } +func (w *rw32) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw32) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw32) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw32) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} + +// combination 34/256: http.ResponseWriter, http.Hijacker, io.StringWriter +type rw33 rwState + +func (w *rw33) Unwrap() http.ResponseWriter { return w.w } +func (w *rw33) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw33) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw33) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw33) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw33) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 35/256: http.ResponseWriter, http.Hijacker, http.Pusher +type rw34 rwState + +func (w *rw34) Unwrap() http.ResponseWriter { return w.w } +func (w *rw34) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw34) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw34) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw34) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw34) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 36/256: http.ResponseWriter, http.Hijacker, http.Pusher, io.StringWriter +type rw35 rwState + +func (w *rw35) Unwrap() http.ResponseWriter { return w.w } +func (w *rw35) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw35) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw35) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw35) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw35) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw35) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 37/256: http.ResponseWriter, http.Hijacker, fullDuplexEnabler +type rw36 rwState + +func (w *rw36) Unwrap() http.ResponseWriter { return w.w } +func (w *rw36) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw36) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw36) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw36) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw36) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 38/256: http.ResponseWriter, http.Hijacker, fullDuplexEnabler, io.StringWriter +type rw37 rwState + +func (w *rw37) Unwrap() http.ResponseWriter { return w.w } +func (w *rw37) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw37) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw37) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw37) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw37) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw37) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 39/256: http.ResponseWriter, http.Hijacker, fullDuplexEnabler, http.Pusher +type rw38 rwState + +func (w *rw38) Unwrap() http.ResponseWriter { return w.w } +func (w *rw38) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw38) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw38) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw38) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw38) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw38) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 40/256: http.ResponseWriter, http.Hijacker, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw39 rwState + +func (w *rw39) Unwrap() http.ResponseWriter { return w.w } +func (w *rw39) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw39) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw39) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw39) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw39) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw39) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw39) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 41/256: http.ResponseWriter, http.Hijacker, deadliner +type rw40 rwState + +func (w *rw40) Unwrap() http.ResponseWriter { return w.w } +func (w *rw40) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw40) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw40) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw40) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw40) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw40) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} + +// combination 42/256: http.ResponseWriter, http.Hijacker, deadliner, io.StringWriter +type rw41 rwState + +func (w *rw41) Unwrap() http.ResponseWriter { return w.w } +func (w *rw41) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw41) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw41) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw41) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw41) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw41) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw41) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 43/256: http.ResponseWriter, http.Hijacker, deadliner, http.Pusher +type rw42 rwState + +func (w *rw42) Unwrap() http.ResponseWriter { return w.w } +func (w *rw42) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw42) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw42) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw42) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw42) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw42) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw42) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 44/256: http.ResponseWriter, http.Hijacker, deadliner, http.Pusher, io.StringWriter +type rw43 rwState + +func (w *rw43) Unwrap() http.ResponseWriter { return w.w } +func (w *rw43) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw43) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw43) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw43) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw43) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw43) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw43) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw43) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 45/256: http.ResponseWriter, http.Hijacker, deadliner, fullDuplexEnabler +type rw44 rwState + +func (w *rw44) Unwrap() http.ResponseWriter { return w.w } +func (w *rw44) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw44) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw44) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw44) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw44) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw44) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw44) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 46/256: http.ResponseWriter, http.Hijacker, deadliner, fullDuplexEnabler, io.StringWriter +type rw45 rwState + +func (w *rw45) Unwrap() http.ResponseWriter { return w.w } +func (w *rw45) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw45) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw45) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw45) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw45) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw45) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw45) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw45) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 47/256: http.ResponseWriter, http.Hijacker, deadliner, fullDuplexEnabler, http.Pusher +type rw46 rwState + +func (w *rw46) Unwrap() http.ResponseWriter { return w.w } +func (w *rw46) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw46) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw46) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw46) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw46) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw46) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw46) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw46) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 48/256: http.ResponseWriter, http.Hijacker, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw47 rwState + +func (w *rw47) Unwrap() http.ResponseWriter { return w.w } +func (w *rw47) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw47) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw47) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw47) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw47) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw47) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw47) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw47) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw47) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 49/256: http.ResponseWriter, http.Hijacker, io.ReaderFrom +type rw48 rwState + +func (w *rw48) Unwrap() http.ResponseWriter { return w.w } +func (w *rw48) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw48) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw48) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw48) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw48) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} + +// combination 50/256: http.ResponseWriter, http.Hijacker, io.ReaderFrom, io.StringWriter +type rw49 rwState + +func (w *rw49) Unwrap() http.ResponseWriter { return w.w } +func (w *rw49) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw49) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw49) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw49) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw49) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw49) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 51/256: http.ResponseWriter, http.Hijacker, io.ReaderFrom, http.Pusher +type rw50 rwState + +func (w *rw50) Unwrap() http.ResponseWriter { return w.w } +func (w *rw50) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw50) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw50) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw50) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw50) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw50) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 52/256: http.ResponseWriter, http.Hijacker, io.ReaderFrom, http.Pusher, io.StringWriter +type rw51 rwState + +func (w *rw51) Unwrap() http.ResponseWriter { return w.w } +func (w *rw51) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw51) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw51) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw51) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw51) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw51) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw51) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 53/256: http.ResponseWriter, http.Hijacker, io.ReaderFrom, fullDuplexEnabler +type rw52 rwState + +func (w *rw52) Unwrap() http.ResponseWriter { return w.w } +func (w *rw52) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw52) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw52) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw52) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw52) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw52) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 54/256: http.ResponseWriter, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, io.StringWriter +type rw53 rwState + +func (w *rw53) Unwrap() http.ResponseWriter { return w.w } +func (w *rw53) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw53) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw53) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw53) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw53) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw53) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw53) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 55/256: http.ResponseWriter, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, http.Pusher +type rw54 rwState + +func (w *rw54) Unwrap() http.ResponseWriter { return w.w } +func (w *rw54) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw54) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw54) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw54) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw54) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw54) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw54) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 56/256: http.ResponseWriter, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw55 rwState + +func (w *rw55) Unwrap() http.ResponseWriter { return w.w } +func (w *rw55) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw55) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw55) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw55) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw55) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw55) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw55) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw55) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 57/256: http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner +type rw56 rwState + +func (w *rw56) Unwrap() http.ResponseWriter { return w.w } +func (w *rw56) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw56) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw56) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw56) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw56) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw56) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw56) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} + +// combination 58/256: http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner, io.StringWriter +type rw57 rwState + +func (w *rw57) Unwrap() http.ResponseWriter { return w.w } +func (w *rw57) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw57) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw57) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw57) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw57) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw57) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw57) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw57) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 59/256: http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner, http.Pusher +type rw58 rwState + +func (w *rw58) Unwrap() http.ResponseWriter { return w.w } +func (w *rw58) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw58) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw58) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw58) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw58) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw58) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw58) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw58) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 60/256: http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner, http.Pusher, io.StringWriter +type rw59 rwState + +func (w *rw59) Unwrap() http.ResponseWriter { return w.w } +func (w *rw59) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw59) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw59) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw59) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw59) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw59) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw59) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw59) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw59) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 61/256: http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler +type rw60 rwState + +func (w *rw60) Unwrap() http.ResponseWriter { return w.w } +func (w *rw60) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw60) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw60) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw60) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw60) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw60) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw60) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw60) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 62/256: http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, io.StringWriter +type rw61 rwState + +func (w *rw61) Unwrap() http.ResponseWriter { return w.w } +func (w *rw61) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw61) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw61) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw61) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw61) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw61) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw61) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw61) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw61) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 63/256: http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher +type rw62 rwState + +func (w *rw62) Unwrap() http.ResponseWriter { return w.w } +func (w *rw62) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw62) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw62) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw62) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw62) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw62) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw62) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw62) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw62) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 64/256: http.ResponseWriter, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw63 rwState + +func (w *rw63) Unwrap() http.ResponseWriter { return w.w } +func (w *rw63) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw63) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw63) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw63) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw63) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw63) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw63) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw63) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw63) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw63) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 65/256: http.ResponseWriter, http.CloseNotifier +type rw64 rwState + +func (w *rw64) Unwrap() http.ResponseWriter { return w.w } +func (w *rw64) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw64) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw64) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw64) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} + +// combination 66/256: http.ResponseWriter, http.CloseNotifier, io.StringWriter +type rw65 rwState + +func (w *rw65) Unwrap() http.ResponseWriter { return w.w } +func (w *rw65) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw65) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw65) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw65) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw65) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 67/256: http.ResponseWriter, http.CloseNotifier, http.Pusher +type rw66 rwState + +func (w *rw66) Unwrap() http.ResponseWriter { return w.w } +func (w *rw66) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw66) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw66) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw66) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw66) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 68/256: http.ResponseWriter, http.CloseNotifier, http.Pusher, io.StringWriter +type rw67 rwState + +func (w *rw67) Unwrap() http.ResponseWriter { return w.w } +func (w *rw67) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw67) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw67) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw67) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw67) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw67) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 69/256: http.ResponseWriter, http.CloseNotifier, fullDuplexEnabler +type rw68 rwState + +func (w *rw68) Unwrap() http.ResponseWriter { return w.w } +func (w *rw68) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw68) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw68) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw68) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw68) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 70/256: http.ResponseWriter, http.CloseNotifier, fullDuplexEnabler, io.StringWriter +type rw69 rwState + +func (w *rw69) Unwrap() http.ResponseWriter { return w.w } +func (w *rw69) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw69) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw69) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw69) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw69) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw69) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 71/256: http.ResponseWriter, http.CloseNotifier, fullDuplexEnabler, http.Pusher +type rw70 rwState + +func (w *rw70) Unwrap() http.ResponseWriter { return w.w } +func (w *rw70) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw70) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw70) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw70) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw70) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw70) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 72/256: http.ResponseWriter, http.CloseNotifier, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw71 rwState + +func (w *rw71) Unwrap() http.ResponseWriter { return w.w } +func (w *rw71) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw71) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw71) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw71) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw71) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw71) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw71) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 73/256: http.ResponseWriter, http.CloseNotifier, deadliner +type rw72 rwState + +func (w *rw72) Unwrap() http.ResponseWriter { return w.w } +func (w *rw72) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw72) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw72) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw72) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw72) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw72) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} + +// combination 74/256: http.ResponseWriter, http.CloseNotifier, deadliner, io.StringWriter +type rw73 rwState + +func (w *rw73) Unwrap() http.ResponseWriter { return w.w } +func (w *rw73) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw73) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw73) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw73) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw73) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw73) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw73) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 75/256: http.ResponseWriter, http.CloseNotifier, deadliner, http.Pusher +type rw74 rwState + +func (w *rw74) Unwrap() http.ResponseWriter { return w.w } +func (w *rw74) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw74) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw74) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw74) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw74) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw74) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw74) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 76/256: http.ResponseWriter, http.CloseNotifier, deadliner, http.Pusher, io.StringWriter +type rw75 rwState + +func (w *rw75) Unwrap() http.ResponseWriter { return w.w } +func (w *rw75) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw75) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw75) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw75) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw75) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw75) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw75) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw75) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 77/256: http.ResponseWriter, http.CloseNotifier, deadliner, fullDuplexEnabler +type rw76 rwState + +func (w *rw76) Unwrap() http.ResponseWriter { return w.w } +func (w *rw76) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw76) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw76) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw76) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw76) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw76) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw76) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 78/256: http.ResponseWriter, http.CloseNotifier, deadliner, fullDuplexEnabler, io.StringWriter +type rw77 rwState + +func (w *rw77) Unwrap() http.ResponseWriter { return w.w } +func (w *rw77) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw77) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw77) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw77) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw77) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw77) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw77) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw77) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 79/256: http.ResponseWriter, http.CloseNotifier, deadliner, fullDuplexEnabler, http.Pusher +type rw78 rwState + +func (w *rw78) Unwrap() http.ResponseWriter { return w.w } +func (w *rw78) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw78) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw78) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw78) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw78) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw78) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw78) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw78) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 80/256: http.ResponseWriter, http.CloseNotifier, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw79 rwState + +func (w *rw79) Unwrap() http.ResponseWriter { return w.w } +func (w *rw79) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw79) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw79) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw79) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw79) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw79) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw79) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw79) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw79) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 81/256: http.ResponseWriter, http.CloseNotifier, io.ReaderFrom +type rw80 rwState + +func (w *rw80) Unwrap() http.ResponseWriter { return w.w } +func (w *rw80) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw80) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw80) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw80) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw80) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} + +// combination 82/256: http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, io.StringWriter +type rw81 rwState + +func (w *rw81) Unwrap() http.ResponseWriter { return w.w } +func (w *rw81) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw81) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw81) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw81) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw81) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw81) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 83/256: http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, http.Pusher +type rw82 rwState + +func (w *rw82) Unwrap() http.ResponseWriter { return w.w } +func (w *rw82) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw82) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw82) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw82) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw82) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw82) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 84/256: http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, http.Pusher, io.StringWriter +type rw83 rwState + +func (w *rw83) Unwrap() http.ResponseWriter { return w.w } +func (w *rw83) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw83) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw83) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw83) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw83) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw83) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw83) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 85/256: http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler +type rw84 rwState + +func (w *rw84) Unwrap() http.ResponseWriter { return w.w } +func (w *rw84) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw84) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw84) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw84) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw84) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw84) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 86/256: http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler, io.StringWriter +type rw85 rwState + +func (w *rw85) Unwrap() http.ResponseWriter { return w.w } +func (w *rw85) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw85) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw85) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw85) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw85) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw85) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw85) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 87/256: http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler, http.Pusher +type rw86 rwState + +func (w *rw86) Unwrap() http.ResponseWriter { return w.w } +func (w *rw86) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw86) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw86) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw86) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw86) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw86) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw86) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 88/256: http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw87 rwState + +func (w *rw87) Unwrap() http.ResponseWriter { return w.w } +func (w *rw87) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw87) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw87) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw87) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw87) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw87) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw87) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw87) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 89/256: http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner +type rw88 rwState + +func (w *rw88) Unwrap() http.ResponseWriter { return w.w } +func (w *rw88) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw88) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw88) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw88) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw88) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw88) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw88) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} + +// combination 90/256: http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner, io.StringWriter +type rw89 rwState + +func (w *rw89) Unwrap() http.ResponseWriter { return w.w } +func (w *rw89) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw89) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw89) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw89) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw89) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw89) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw89) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw89) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 91/256: http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner, http.Pusher +type rw90 rwState + +func (w *rw90) Unwrap() http.ResponseWriter { return w.w } +func (w *rw90) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw90) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw90) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw90) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw90) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw90) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw90) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw90) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 92/256: http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner, http.Pusher, io.StringWriter +type rw91 rwState + +func (w *rw91) Unwrap() http.ResponseWriter { return w.w } +func (w *rw91) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw91) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw91) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw91) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw91) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw91) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw91) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw91) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw91) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 93/256: http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler +type rw92 rwState + +func (w *rw92) Unwrap() http.ResponseWriter { return w.w } +func (w *rw92) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw92) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw92) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw92) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw92) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw92) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw92) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw92) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 94/256: http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler, io.StringWriter +type rw93 rwState + +func (w *rw93) Unwrap() http.ResponseWriter { return w.w } +func (w *rw93) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw93) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw93) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw93) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw93) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw93) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw93) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw93) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw93) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 95/256: http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher +type rw94 rwState + +func (w *rw94) Unwrap() http.ResponseWriter { return w.w } +func (w *rw94) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw94) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw94) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw94) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw94) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw94) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw94) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw94) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw94) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 96/256: http.ResponseWriter, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw95 rwState + +func (w *rw95) Unwrap() http.ResponseWriter { return w.w } +func (w *rw95) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw95) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw95) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw95) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw95) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw95) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw95) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw95) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw95) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw95) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 97/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker +type rw96 rwState + +func (w *rw96) Unwrap() http.ResponseWriter { return w.w } +func (w *rw96) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw96) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw96) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw96) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw96) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} + +// combination 98/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.StringWriter +type rw97 rwState + +func (w *rw97) Unwrap() http.ResponseWriter { return w.w } +func (w *rw97) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw97) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw97) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw97) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw97) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw97) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 99/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, http.Pusher +type rw98 rwState + +func (w *rw98) Unwrap() http.ResponseWriter { return w.w } +func (w *rw98) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw98) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw98) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw98) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw98) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw98) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 100/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, http.Pusher, io.StringWriter +type rw99 rwState + +func (w *rw99) Unwrap() http.ResponseWriter { return w.w } +func (w *rw99) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw99) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw99) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw99) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw99) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw99) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw99) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 101/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, fullDuplexEnabler +type rw100 rwState + +func (w *rw100) Unwrap() http.ResponseWriter { return w.w } +func (w *rw100) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw100) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw100) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw100) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw100) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw100) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 102/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, fullDuplexEnabler, io.StringWriter +type rw101 rwState + +func (w *rw101) Unwrap() http.ResponseWriter { return w.w } +func (w *rw101) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw101) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw101) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw101) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw101) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw101) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw101) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 103/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, fullDuplexEnabler, http.Pusher +type rw102 rwState + +func (w *rw102) Unwrap() http.ResponseWriter { return w.w } +func (w *rw102) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw102) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw102) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw102) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw102) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw102) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw102) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 104/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw103 rwState + +func (w *rw103) Unwrap() http.ResponseWriter { return w.w } +func (w *rw103) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw103) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw103) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw103) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw103) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw103) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw103) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw103) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 105/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner +type rw104 rwState + +func (w *rw104) Unwrap() http.ResponseWriter { return w.w } +func (w *rw104) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw104) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw104) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw104) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw104) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw104) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw104) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} + +// combination 106/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner, io.StringWriter +type rw105 rwState + +func (w *rw105) Unwrap() http.ResponseWriter { return w.w } +func (w *rw105) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw105) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw105) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw105) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw105) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw105) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw105) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw105) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 107/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner, http.Pusher +type rw106 rwState + +func (w *rw106) Unwrap() http.ResponseWriter { return w.w } +func (w *rw106) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw106) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw106) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw106) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw106) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw106) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw106) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw106) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 108/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner, http.Pusher, io.StringWriter +type rw107 rwState + +func (w *rw107) Unwrap() http.ResponseWriter { return w.w } +func (w *rw107) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw107) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw107) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw107) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw107) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw107) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw107) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw107) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw107) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 109/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler +type rw108 rwState + +func (w *rw108) Unwrap() http.ResponseWriter { return w.w } +func (w *rw108) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw108) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw108) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw108) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw108) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw108) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw108) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw108) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 110/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler, io.StringWriter +type rw109 rwState + +func (w *rw109) Unwrap() http.ResponseWriter { return w.w } +func (w *rw109) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw109) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw109) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw109) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw109) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw109) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw109) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw109) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw109) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 111/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler, http.Pusher +type rw110 rwState + +func (w *rw110) Unwrap() http.ResponseWriter { return w.w } +func (w *rw110) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw110) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw110) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw110) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw110) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw110) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw110) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw110) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw110) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 112/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw111 rwState + +func (w *rw111) Unwrap() http.ResponseWriter { return w.w } +func (w *rw111) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw111) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw111) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw111) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw111) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw111) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw111) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw111) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw111) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw111) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 113/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom +type rw112 rwState + +func (w *rw112) Unwrap() http.ResponseWriter { return w.w } +func (w *rw112) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw112) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw112) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw112) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw112) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw112) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} + +// combination 114/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, io.StringWriter +type rw113 rwState + +func (w *rw113) Unwrap() http.ResponseWriter { return w.w } +func (w *rw113) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw113) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw113) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw113) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw113) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw113) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw113) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 115/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, http.Pusher +type rw114 rwState + +func (w *rw114) Unwrap() http.ResponseWriter { return w.w } +func (w *rw114) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw114) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw114) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw114) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw114) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw114) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw114) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 116/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, http.Pusher, io.StringWriter +type rw115 rwState + +func (w *rw115) Unwrap() http.ResponseWriter { return w.w } +func (w *rw115) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw115) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw115) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw115) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw115) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw115) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw115) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw115) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 117/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler +type rw116 rwState + +func (w *rw116) Unwrap() http.ResponseWriter { return w.w } +func (w *rw116) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw116) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw116) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw116) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw116) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw116) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw116) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 118/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, io.StringWriter +type rw117 rwState + +func (w *rw117) Unwrap() http.ResponseWriter { return w.w } +func (w *rw117) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw117) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw117) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw117) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw117) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw117) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw117) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw117) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 119/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, http.Pusher +type rw118 rwState + +func (w *rw118) Unwrap() http.ResponseWriter { return w.w } +func (w *rw118) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw118) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw118) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw118) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw118) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw118) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw118) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw118) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 120/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw119 rwState + +func (w *rw119) Unwrap() http.ResponseWriter { return w.w } +func (w *rw119) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw119) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw119) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw119) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw119) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw119) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw119) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw119) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw119) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 121/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner +type rw120 rwState + +func (w *rw120) Unwrap() http.ResponseWriter { return w.w } +func (w *rw120) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw120) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw120) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw120) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw120) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw120) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw120) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw120) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} + +// combination 122/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, io.StringWriter +type rw121 rwState + +func (w *rw121) Unwrap() http.ResponseWriter { return w.w } +func (w *rw121) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw121) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw121) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw121) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw121) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw121) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw121) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw121) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw121) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 123/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, http.Pusher +type rw122 rwState + +func (w *rw122) Unwrap() http.ResponseWriter { return w.w } +func (w *rw122) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw122) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw122) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw122) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw122) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw122) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw122) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw122) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw122) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 124/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, http.Pusher, io.StringWriter +type rw123 rwState + +func (w *rw123) Unwrap() http.ResponseWriter { return w.w } +func (w *rw123) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw123) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw123) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw123) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw123) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw123) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw123) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw123) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw123) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw123) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 125/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler +type rw124 rwState + +func (w *rw124) Unwrap() http.ResponseWriter { return w.w } +func (w *rw124) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw124) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw124) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw124) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw124) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw124) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw124) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw124) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw124) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 126/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, io.StringWriter +type rw125 rwState + +func (w *rw125) Unwrap() http.ResponseWriter { return w.w } +func (w *rw125) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw125) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw125) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw125) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw125) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw125) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw125) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw125) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw125) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw125) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 127/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher +type rw126 rwState + +func (w *rw126) Unwrap() http.ResponseWriter { return w.w } +func (w *rw126) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw126) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw126) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw126) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw126) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw126) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw126) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw126) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw126) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw126) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 128/256: http.ResponseWriter, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw127 rwState + +func (w *rw127) Unwrap() http.ResponseWriter { return w.w } +func (w *rw127) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw127) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw127) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw127) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw127) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw127) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw127) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw127) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw127) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw127) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw127) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 129/256: http.ResponseWriter, http.Flusher +type rw128 rwState + +func (w *rw128) Unwrap() http.ResponseWriter { return w.w } +func (w *rw128) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw128) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw128) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw128) Flush() { + (*rwState)(w).doFlush() +} + +// combination 130/256: http.ResponseWriter, http.Flusher, io.StringWriter +type rw129 rwState + +func (w *rw129) Unwrap() http.ResponseWriter { return w.w } +func (w *rw129) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw129) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw129) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw129) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw129) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 131/256: http.ResponseWriter, http.Flusher, http.Pusher +type rw130 rwState + +func (w *rw130) Unwrap() http.ResponseWriter { return w.w } +func (w *rw130) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw130) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw130) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw130) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw130) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 132/256: http.ResponseWriter, http.Flusher, http.Pusher, io.StringWriter +type rw131 rwState + +func (w *rw131) Unwrap() http.ResponseWriter { return w.w } +func (w *rw131) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw131) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw131) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw131) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw131) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw131) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 133/256: http.ResponseWriter, http.Flusher, fullDuplexEnabler +type rw132 rwState + +func (w *rw132) Unwrap() http.ResponseWriter { return w.w } +func (w *rw132) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw132) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw132) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw132) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw132) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 134/256: http.ResponseWriter, http.Flusher, fullDuplexEnabler, io.StringWriter +type rw133 rwState + +func (w *rw133) Unwrap() http.ResponseWriter { return w.w } +func (w *rw133) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw133) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw133) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw133) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw133) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw133) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 135/256: http.ResponseWriter, http.Flusher, fullDuplexEnabler, http.Pusher +type rw134 rwState + +func (w *rw134) Unwrap() http.ResponseWriter { return w.w } +func (w *rw134) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw134) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw134) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw134) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw134) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw134) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 136/256: http.ResponseWriter, http.Flusher, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw135 rwState + +func (w *rw135) Unwrap() http.ResponseWriter { return w.w } +func (w *rw135) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw135) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw135) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw135) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw135) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw135) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw135) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 137/256: http.ResponseWriter, http.Flusher, deadliner +type rw136 rwState + +func (w *rw136) Unwrap() http.ResponseWriter { return w.w } +func (w *rw136) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw136) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw136) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw136) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw136) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw136) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} + +// combination 138/256: http.ResponseWriter, http.Flusher, deadliner, io.StringWriter +type rw137 rwState + +func (w *rw137) Unwrap() http.ResponseWriter { return w.w } +func (w *rw137) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw137) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw137) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw137) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw137) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw137) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw137) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 139/256: http.ResponseWriter, http.Flusher, deadliner, http.Pusher +type rw138 rwState + +func (w *rw138) Unwrap() http.ResponseWriter { return w.w } +func (w *rw138) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw138) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw138) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw138) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw138) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw138) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw138) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 140/256: http.ResponseWriter, http.Flusher, deadliner, http.Pusher, io.StringWriter +type rw139 rwState + +func (w *rw139) Unwrap() http.ResponseWriter { return w.w } +func (w *rw139) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw139) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw139) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw139) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw139) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw139) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw139) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw139) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 141/256: http.ResponseWriter, http.Flusher, deadliner, fullDuplexEnabler +type rw140 rwState + +func (w *rw140) Unwrap() http.ResponseWriter { return w.w } +func (w *rw140) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw140) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw140) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw140) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw140) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw140) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw140) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 142/256: http.ResponseWriter, http.Flusher, deadliner, fullDuplexEnabler, io.StringWriter +type rw141 rwState + +func (w *rw141) Unwrap() http.ResponseWriter { return w.w } +func (w *rw141) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw141) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw141) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw141) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw141) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw141) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw141) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw141) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 143/256: http.ResponseWriter, http.Flusher, deadliner, fullDuplexEnabler, http.Pusher +type rw142 rwState + +func (w *rw142) Unwrap() http.ResponseWriter { return w.w } +func (w *rw142) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw142) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw142) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw142) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw142) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw142) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw142) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw142) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 144/256: http.ResponseWriter, http.Flusher, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw143 rwState + +func (w *rw143) Unwrap() http.ResponseWriter { return w.w } +func (w *rw143) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw143) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw143) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw143) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw143) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw143) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw143) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw143) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw143) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 145/256: http.ResponseWriter, http.Flusher, io.ReaderFrom +type rw144 rwState + +func (w *rw144) Unwrap() http.ResponseWriter { return w.w } +func (w *rw144) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw144) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw144) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw144) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw144) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} + +// combination 146/256: http.ResponseWriter, http.Flusher, io.ReaderFrom, io.StringWriter +type rw145 rwState + +func (w *rw145) Unwrap() http.ResponseWriter { return w.w } +func (w *rw145) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw145) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw145) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw145) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw145) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw145) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 147/256: http.ResponseWriter, http.Flusher, io.ReaderFrom, http.Pusher +type rw146 rwState + +func (w *rw146) Unwrap() http.ResponseWriter { return w.w } +func (w *rw146) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw146) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw146) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw146) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw146) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw146) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 148/256: http.ResponseWriter, http.Flusher, io.ReaderFrom, http.Pusher, io.StringWriter +type rw147 rwState + +func (w *rw147) Unwrap() http.ResponseWriter { return w.w } +func (w *rw147) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw147) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw147) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw147) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw147) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw147) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw147) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 149/256: http.ResponseWriter, http.Flusher, io.ReaderFrom, fullDuplexEnabler +type rw148 rwState + +func (w *rw148) Unwrap() http.ResponseWriter { return w.w } +func (w *rw148) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw148) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw148) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw148) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw148) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw148) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 150/256: http.ResponseWriter, http.Flusher, io.ReaderFrom, fullDuplexEnabler, io.StringWriter +type rw149 rwState + +func (w *rw149) Unwrap() http.ResponseWriter { return w.w } +func (w *rw149) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw149) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw149) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw149) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw149) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw149) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw149) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 151/256: http.ResponseWriter, http.Flusher, io.ReaderFrom, fullDuplexEnabler, http.Pusher +type rw150 rwState + +func (w *rw150) Unwrap() http.ResponseWriter { return w.w } +func (w *rw150) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw150) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw150) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw150) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw150) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw150) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw150) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 152/256: http.ResponseWriter, http.Flusher, io.ReaderFrom, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw151 rwState + +func (w *rw151) Unwrap() http.ResponseWriter { return w.w } +func (w *rw151) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw151) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw151) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw151) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw151) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw151) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw151) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw151) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 153/256: http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner +type rw152 rwState + +func (w *rw152) Unwrap() http.ResponseWriter { return w.w } +func (w *rw152) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw152) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw152) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw152) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw152) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw152) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw152) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} + +// combination 154/256: http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner, io.StringWriter +type rw153 rwState + +func (w *rw153) Unwrap() http.ResponseWriter { return w.w } +func (w *rw153) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw153) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw153) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw153) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw153) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw153) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw153) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw153) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 155/256: http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner, http.Pusher +type rw154 rwState + +func (w *rw154) Unwrap() http.ResponseWriter { return w.w } +func (w *rw154) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw154) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw154) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw154) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw154) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw154) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw154) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw154) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 156/256: http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner, http.Pusher, io.StringWriter +type rw155 rwState + +func (w *rw155) Unwrap() http.ResponseWriter { return w.w } +func (w *rw155) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw155) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw155) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw155) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw155) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw155) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw155) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw155) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw155) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 157/256: http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner, fullDuplexEnabler +type rw156 rwState + +func (w *rw156) Unwrap() http.ResponseWriter { return w.w } +func (w *rw156) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw156) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw156) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw156) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw156) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw156) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw156) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw156) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 158/256: http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner, fullDuplexEnabler, io.StringWriter +type rw157 rwState + +func (w *rw157) Unwrap() http.ResponseWriter { return w.w } +func (w *rw157) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw157) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw157) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw157) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw157) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw157) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw157) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw157) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw157) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 159/256: http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher +type rw158 rwState + +func (w *rw158) Unwrap() http.ResponseWriter { return w.w } +func (w *rw158) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw158) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw158) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw158) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw158) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw158) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw158) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw158) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw158) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 160/256: http.ResponseWriter, http.Flusher, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw159 rwState + +func (w *rw159) Unwrap() http.ResponseWriter { return w.w } +func (w *rw159) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw159) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw159) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw159) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw159) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw159) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw159) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw159) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw159) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw159) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 161/256: http.ResponseWriter, http.Flusher, http.Hijacker +type rw160 rwState + +func (w *rw160) Unwrap() http.ResponseWriter { return w.w } +func (w *rw160) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw160) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw160) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw160) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw160) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} + +// combination 162/256: http.ResponseWriter, http.Flusher, http.Hijacker, io.StringWriter +type rw161 rwState + +func (w *rw161) Unwrap() http.ResponseWriter { return w.w } +func (w *rw161) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw161) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw161) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw161) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw161) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw161) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 163/256: http.ResponseWriter, http.Flusher, http.Hijacker, http.Pusher +type rw162 rwState + +func (w *rw162) Unwrap() http.ResponseWriter { return w.w } +func (w *rw162) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw162) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw162) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw162) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw162) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw162) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 164/256: http.ResponseWriter, http.Flusher, http.Hijacker, http.Pusher, io.StringWriter +type rw163 rwState + +func (w *rw163) Unwrap() http.ResponseWriter { return w.w } +func (w *rw163) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw163) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw163) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw163) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw163) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw163) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw163) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 165/256: http.ResponseWriter, http.Flusher, http.Hijacker, fullDuplexEnabler +type rw164 rwState + +func (w *rw164) Unwrap() http.ResponseWriter { return w.w } +func (w *rw164) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw164) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw164) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw164) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw164) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw164) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 166/256: http.ResponseWriter, http.Flusher, http.Hijacker, fullDuplexEnabler, io.StringWriter +type rw165 rwState + +func (w *rw165) Unwrap() http.ResponseWriter { return w.w } +func (w *rw165) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw165) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw165) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw165) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw165) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw165) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw165) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 167/256: http.ResponseWriter, http.Flusher, http.Hijacker, fullDuplexEnabler, http.Pusher +type rw166 rwState + +func (w *rw166) Unwrap() http.ResponseWriter { return w.w } +func (w *rw166) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw166) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw166) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw166) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw166) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw166) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw166) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 168/256: http.ResponseWriter, http.Flusher, http.Hijacker, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw167 rwState + +func (w *rw167) Unwrap() http.ResponseWriter { return w.w } +func (w *rw167) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw167) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw167) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw167) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw167) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw167) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw167) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw167) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 169/256: http.ResponseWriter, http.Flusher, http.Hijacker, deadliner +type rw168 rwState + +func (w *rw168) Unwrap() http.ResponseWriter { return w.w } +func (w *rw168) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw168) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw168) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw168) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw168) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw168) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw168) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} + +// combination 170/256: http.ResponseWriter, http.Flusher, http.Hijacker, deadliner, io.StringWriter +type rw169 rwState + +func (w *rw169) Unwrap() http.ResponseWriter { return w.w } +func (w *rw169) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw169) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw169) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw169) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw169) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw169) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw169) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw169) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 171/256: http.ResponseWriter, http.Flusher, http.Hijacker, deadliner, http.Pusher +type rw170 rwState + +func (w *rw170) Unwrap() http.ResponseWriter { return w.w } +func (w *rw170) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw170) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw170) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw170) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw170) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw170) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw170) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw170) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 172/256: http.ResponseWriter, http.Flusher, http.Hijacker, deadliner, http.Pusher, io.StringWriter +type rw171 rwState + +func (w *rw171) Unwrap() http.ResponseWriter { return w.w } +func (w *rw171) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw171) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw171) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw171) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw171) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw171) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw171) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw171) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw171) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 173/256: http.ResponseWriter, http.Flusher, http.Hijacker, deadliner, fullDuplexEnabler +type rw172 rwState + +func (w *rw172) Unwrap() http.ResponseWriter { return w.w } +func (w *rw172) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw172) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw172) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw172) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw172) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw172) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw172) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw172) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 174/256: http.ResponseWriter, http.Flusher, http.Hijacker, deadliner, fullDuplexEnabler, io.StringWriter +type rw173 rwState + +func (w *rw173) Unwrap() http.ResponseWriter { return w.w } +func (w *rw173) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw173) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw173) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw173) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw173) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw173) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw173) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw173) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw173) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 175/256: http.ResponseWriter, http.Flusher, http.Hijacker, deadliner, fullDuplexEnabler, http.Pusher +type rw174 rwState + +func (w *rw174) Unwrap() http.ResponseWriter { return w.w } +func (w *rw174) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw174) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw174) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw174) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw174) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw174) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw174) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw174) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw174) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 176/256: http.ResponseWriter, http.Flusher, http.Hijacker, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw175 rwState + +func (w *rw175) Unwrap() http.ResponseWriter { return w.w } +func (w *rw175) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw175) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw175) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw175) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw175) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw175) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw175) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw175) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw175) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw175) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 177/256: http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom +type rw176 rwState + +func (w *rw176) Unwrap() http.ResponseWriter { return w.w } +func (w *rw176) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw176) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw176) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw176) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw176) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw176) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} + +// combination 178/256: http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, io.StringWriter +type rw177 rwState + +func (w *rw177) Unwrap() http.ResponseWriter { return w.w } +func (w *rw177) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw177) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw177) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw177) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw177) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw177) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw177) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 179/256: http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, http.Pusher +type rw178 rwState + +func (w *rw178) Unwrap() http.ResponseWriter { return w.w } +func (w *rw178) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw178) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw178) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw178) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw178) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw178) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw178) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 180/256: http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, http.Pusher, io.StringWriter +type rw179 rwState + +func (w *rw179) Unwrap() http.ResponseWriter { return w.w } +func (w *rw179) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw179) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw179) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw179) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw179) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw179) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw179) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw179) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 181/256: http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, fullDuplexEnabler +type rw180 rwState + +func (w *rw180) Unwrap() http.ResponseWriter { return w.w } +func (w *rw180) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw180) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw180) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw180) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw180) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw180) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw180) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 182/256: http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, io.StringWriter +type rw181 rwState + +func (w *rw181) Unwrap() http.ResponseWriter { return w.w } +func (w *rw181) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw181) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw181) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw181) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw181) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw181) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw181) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw181) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 183/256: http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, http.Pusher +type rw182 rwState + +func (w *rw182) Unwrap() http.ResponseWriter { return w.w } +func (w *rw182) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw182) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw182) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw182) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw182) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw182) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw182) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw182) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 184/256: http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw183 rwState + +func (w *rw183) Unwrap() http.ResponseWriter { return w.w } +func (w *rw183) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw183) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw183) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw183) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw183) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw183) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw183) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw183) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw183) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 185/256: http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner +type rw184 rwState + +func (w *rw184) Unwrap() http.ResponseWriter { return w.w } +func (w *rw184) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw184) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw184) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw184) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw184) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw184) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw184) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw184) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} + +// combination 186/256: http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner, io.StringWriter +type rw185 rwState + +func (w *rw185) Unwrap() http.ResponseWriter { return w.w } +func (w *rw185) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw185) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw185) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw185) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw185) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw185) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw185) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw185) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw185) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 187/256: http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner, http.Pusher +type rw186 rwState + +func (w *rw186) Unwrap() http.ResponseWriter { return w.w } +func (w *rw186) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw186) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw186) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw186) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw186) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw186) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw186) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw186) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw186) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 188/256: http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner, http.Pusher, io.StringWriter +type rw187 rwState + +func (w *rw187) Unwrap() http.ResponseWriter { return w.w } +func (w *rw187) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw187) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw187) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw187) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw187) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw187) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw187) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw187) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw187) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw187) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 189/256: http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler +type rw188 rwState + +func (w *rw188) Unwrap() http.ResponseWriter { return w.w } +func (w *rw188) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw188) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw188) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw188) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw188) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw188) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw188) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw188) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw188) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 190/256: http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, io.StringWriter +type rw189 rwState + +func (w *rw189) Unwrap() http.ResponseWriter { return w.w } +func (w *rw189) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw189) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw189) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw189) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw189) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw189) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw189) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw189) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw189) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw189) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 191/256: http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher +type rw190 rwState + +func (w *rw190) Unwrap() http.ResponseWriter { return w.w } +func (w *rw190) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw190) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw190) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw190) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw190) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw190) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw190) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw190) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw190) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw190) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 192/256: http.ResponseWriter, http.Flusher, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw191 rwState + +func (w *rw191) Unwrap() http.ResponseWriter { return w.w } +func (w *rw191) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw191) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw191) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw191) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw191) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw191) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw191) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw191) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw191) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw191) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw191) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 193/256: http.ResponseWriter, http.Flusher, http.CloseNotifier +type rw192 rwState + +func (w *rw192) Unwrap() http.ResponseWriter { return w.w } +func (w *rw192) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw192) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw192) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw192) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw192) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} + +// combination 194/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, io.StringWriter +type rw193 rwState + +func (w *rw193) Unwrap() http.ResponseWriter { return w.w } +func (w *rw193) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw193) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw193) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw193) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw193) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw193) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 195/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Pusher +type rw194 rwState + +func (w *rw194) Unwrap() http.ResponseWriter { return w.w } +func (w *rw194) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw194) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw194) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw194) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw194) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw194) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 196/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Pusher, io.StringWriter +type rw195 rwState + +func (w *rw195) Unwrap() http.ResponseWriter { return w.w } +func (w *rw195) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw195) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw195) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw195) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw195) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw195) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw195) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 197/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, fullDuplexEnabler +type rw196 rwState + +func (w *rw196) Unwrap() http.ResponseWriter { return w.w } +func (w *rw196) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw196) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw196) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw196) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw196) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw196) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 198/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, fullDuplexEnabler, io.StringWriter +type rw197 rwState + +func (w *rw197) Unwrap() http.ResponseWriter { return w.w } +func (w *rw197) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw197) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw197) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw197) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw197) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw197) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw197) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 199/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, fullDuplexEnabler, http.Pusher +type rw198 rwState + +func (w *rw198) Unwrap() http.ResponseWriter { return w.w } +func (w *rw198) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw198) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw198) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw198) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw198) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw198) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw198) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 200/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw199 rwState + +func (w *rw199) Unwrap() http.ResponseWriter { return w.w } +func (w *rw199) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw199) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw199) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw199) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw199) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw199) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw199) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw199) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 201/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner +type rw200 rwState + +func (w *rw200) Unwrap() http.ResponseWriter { return w.w } +func (w *rw200) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw200) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw200) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw200) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw200) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw200) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw200) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} + +// combination 202/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner, io.StringWriter +type rw201 rwState + +func (w *rw201) Unwrap() http.ResponseWriter { return w.w } +func (w *rw201) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw201) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw201) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw201) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw201) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw201) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw201) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw201) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 203/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner, http.Pusher +type rw202 rwState + +func (w *rw202) Unwrap() http.ResponseWriter { return w.w } +func (w *rw202) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw202) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw202) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw202) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw202) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw202) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw202) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw202) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 204/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner, http.Pusher, io.StringWriter +type rw203 rwState + +func (w *rw203) Unwrap() http.ResponseWriter { return w.w } +func (w *rw203) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw203) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw203) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw203) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw203) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw203) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw203) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw203) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw203) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 205/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner, fullDuplexEnabler +type rw204 rwState + +func (w *rw204) Unwrap() http.ResponseWriter { return w.w } +func (w *rw204) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw204) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw204) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw204) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw204) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw204) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw204) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw204) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 206/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner, fullDuplexEnabler, io.StringWriter +type rw205 rwState + +func (w *rw205) Unwrap() http.ResponseWriter { return w.w } +func (w *rw205) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw205) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw205) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw205) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw205) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw205) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw205) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw205) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw205) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 207/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner, fullDuplexEnabler, http.Pusher +type rw206 rwState + +func (w *rw206) Unwrap() http.ResponseWriter { return w.w } +func (w *rw206) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw206) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw206) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw206) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw206) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw206) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw206) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw206) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw206) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 208/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw207 rwState + +func (w *rw207) Unwrap() http.ResponseWriter { return w.w } +func (w *rw207) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw207) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw207) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw207) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw207) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw207) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw207) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw207) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw207) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw207) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 209/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom +type rw208 rwState + +func (w *rw208) Unwrap() http.ResponseWriter { return w.w } +func (w *rw208) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw208) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw208) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw208) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw208) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw208) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} + +// combination 210/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, io.StringWriter +type rw209 rwState + +func (w *rw209) Unwrap() http.ResponseWriter { return w.w } +func (w *rw209) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw209) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw209) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw209) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw209) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw209) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw209) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 211/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, http.Pusher +type rw210 rwState + +func (w *rw210) Unwrap() http.ResponseWriter { return w.w } +func (w *rw210) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw210) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw210) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw210) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw210) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw210) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw210) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 212/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, http.Pusher, io.StringWriter +type rw211 rwState + +func (w *rw211) Unwrap() http.ResponseWriter { return w.w } +func (w *rw211) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw211) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw211) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw211) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw211) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw211) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw211) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw211) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 213/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler +type rw212 rwState + +func (w *rw212) Unwrap() http.ResponseWriter { return w.w } +func (w *rw212) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw212) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw212) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw212) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw212) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw212) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw212) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 214/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler, io.StringWriter +type rw213 rwState + +func (w *rw213) Unwrap() http.ResponseWriter { return w.w } +func (w *rw213) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw213) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw213) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw213) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw213) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw213) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw213) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw213) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 215/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler, http.Pusher +type rw214 rwState + +func (w *rw214) Unwrap() http.ResponseWriter { return w.w } +func (w *rw214) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw214) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw214) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw214) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw214) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw214) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw214) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw214) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 216/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw215 rwState + +func (w *rw215) Unwrap() http.ResponseWriter { return w.w } +func (w *rw215) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw215) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw215) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw215) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw215) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw215) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw215) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw215) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw215) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 217/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner +type rw216 rwState + +func (w *rw216) Unwrap() http.ResponseWriter { return w.w } +func (w *rw216) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw216) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw216) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw216) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw216) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw216) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw216) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw216) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} + +// combination 218/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner, io.StringWriter +type rw217 rwState + +func (w *rw217) Unwrap() http.ResponseWriter { return w.w } +func (w *rw217) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw217) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw217) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw217) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw217) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw217) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw217) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw217) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw217) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 219/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner, http.Pusher +type rw218 rwState + +func (w *rw218) Unwrap() http.ResponseWriter { return w.w } +func (w *rw218) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw218) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw218) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw218) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw218) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw218) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw218) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw218) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw218) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 220/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner, http.Pusher, io.StringWriter +type rw219 rwState + +func (w *rw219) Unwrap() http.ResponseWriter { return w.w } +func (w *rw219) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw219) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw219) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw219) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw219) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw219) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw219) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw219) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw219) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw219) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 221/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler +type rw220 rwState + +func (w *rw220) Unwrap() http.ResponseWriter { return w.w } +func (w *rw220) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw220) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw220) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw220) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw220) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw220) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw220) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw220) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw220) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 222/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler, io.StringWriter +type rw221 rwState + +func (w *rw221) Unwrap() http.ResponseWriter { return w.w } +func (w *rw221) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw221) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw221) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw221) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw221) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw221) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw221) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw221) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw221) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw221) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 223/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher +type rw222 rwState + +func (w *rw222) Unwrap() http.ResponseWriter { return w.w } +func (w *rw222) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw222) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw222) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw222) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw222) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw222) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw222) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw222) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw222) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw222) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 224/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw223 rwState + +func (w *rw223) Unwrap() http.ResponseWriter { return w.w } +func (w *rw223) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw223) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw223) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw223) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw223) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw223) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw223) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw223) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw223) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw223) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw223) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 225/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker +type rw224 rwState + +func (w *rw224) Unwrap() http.ResponseWriter { return w.w } +func (w *rw224) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw224) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw224) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw224) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw224) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw224) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} + +// combination 226/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.StringWriter +type rw225 rwState + +func (w *rw225) Unwrap() http.ResponseWriter { return w.w } +func (w *rw225) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw225) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw225) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw225) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw225) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw225) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw225) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 227/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, http.Pusher +type rw226 rwState + +func (w *rw226) Unwrap() http.ResponseWriter { return w.w } +func (w *rw226) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw226) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw226) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw226) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw226) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw226) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw226) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 228/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, http.Pusher, io.StringWriter +type rw227 rwState + +func (w *rw227) Unwrap() http.ResponseWriter { return w.w } +func (w *rw227) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw227) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw227) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw227) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw227) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw227) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw227) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw227) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 229/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, fullDuplexEnabler +type rw228 rwState + +func (w *rw228) Unwrap() http.ResponseWriter { return w.w } +func (w *rw228) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw228) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw228) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw228) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw228) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw228) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw228) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 230/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, fullDuplexEnabler, io.StringWriter +type rw229 rwState + +func (w *rw229) Unwrap() http.ResponseWriter { return w.w } +func (w *rw229) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw229) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw229) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw229) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw229) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw229) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw229) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw229) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 231/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, fullDuplexEnabler, http.Pusher +type rw230 rwState + +func (w *rw230) Unwrap() http.ResponseWriter { return w.w } +func (w *rw230) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw230) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw230) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw230) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw230) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw230) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw230) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw230) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 232/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw231 rwState + +func (w *rw231) Unwrap() http.ResponseWriter { return w.w } +func (w *rw231) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw231) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw231) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw231) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw231) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw231) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw231) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw231) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw231) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 233/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner +type rw232 rwState + +func (w *rw232) Unwrap() http.ResponseWriter { return w.w } +func (w *rw232) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw232) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw232) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw232) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw232) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw232) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw232) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw232) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} + +// combination 234/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner, io.StringWriter +type rw233 rwState + +func (w *rw233) Unwrap() http.ResponseWriter { return w.w } +func (w *rw233) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw233) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw233) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw233) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw233) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw233) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw233) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw233) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw233) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 235/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner, http.Pusher +type rw234 rwState + +func (w *rw234) Unwrap() http.ResponseWriter { return w.w } +func (w *rw234) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw234) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw234) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw234) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw234) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw234) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw234) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw234) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw234) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 236/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner, http.Pusher, io.StringWriter +type rw235 rwState + +func (w *rw235) Unwrap() http.ResponseWriter { return w.w } +func (w *rw235) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw235) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw235) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw235) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw235) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw235) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw235) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw235) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw235) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw235) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 237/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler +type rw236 rwState + +func (w *rw236) Unwrap() http.ResponseWriter { return w.w } +func (w *rw236) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw236) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw236) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw236) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw236) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw236) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw236) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw236) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw236) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 238/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler, io.StringWriter +type rw237 rwState + +func (w *rw237) Unwrap() http.ResponseWriter { return w.w } +func (w *rw237) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw237) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw237) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw237) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw237) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw237) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw237) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw237) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw237) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw237) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 239/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler, http.Pusher +type rw238 rwState + +func (w *rw238) Unwrap() http.ResponseWriter { return w.w } +func (w *rw238) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw238) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw238) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw238) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw238) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw238) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw238) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw238) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw238) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw238) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 240/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw239 rwState + +func (w *rw239) Unwrap() http.ResponseWriter { return w.w } +func (w *rw239) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw239) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw239) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw239) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw239) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw239) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw239) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw239) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw239) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw239) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw239) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 241/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom +type rw240 rwState + +func (w *rw240) Unwrap() http.ResponseWriter { return w.w } +func (w *rw240) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw240) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw240) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw240) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw240) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw240) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw240) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} + +// combination 242/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, io.StringWriter +type rw241 rwState + +func (w *rw241) Unwrap() http.ResponseWriter { return w.w } +func (w *rw241) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw241) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw241) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw241) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw241) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw241) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw241) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw241) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 243/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, http.Pusher +type rw242 rwState + +func (w *rw242) Unwrap() http.ResponseWriter { return w.w } +func (w *rw242) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw242) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw242) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw242) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw242) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw242) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw242) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw242) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 244/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, http.Pusher, io.StringWriter +type rw243 rwState + +func (w *rw243) Unwrap() http.ResponseWriter { return w.w } +func (w *rw243) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw243) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw243) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw243) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw243) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw243) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw243) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw243) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw243) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 245/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler +type rw244 rwState + +func (w *rw244) Unwrap() http.ResponseWriter { return w.w } +func (w *rw244) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw244) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw244) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw244) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw244) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw244) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw244) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw244) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 246/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, io.StringWriter +type rw245 rwState + +func (w *rw245) Unwrap() http.ResponseWriter { return w.w } +func (w *rw245) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw245) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw245) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw245) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw245) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw245) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw245) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw245) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw245) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 247/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, http.Pusher +type rw246 rwState + +func (w *rw246) Unwrap() http.ResponseWriter { return w.w } +func (w *rw246) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw246) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw246) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw246) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw246) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw246) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw246) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw246) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw246) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 248/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw247 rwState + +func (w *rw247) Unwrap() http.ResponseWriter { return w.w } +func (w *rw247) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw247) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw247) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw247) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw247) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw247) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw247) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw247) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw247) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw247) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 249/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner +type rw248 rwState + +func (w *rw248) Unwrap() http.ResponseWriter { return w.w } +func (w *rw248) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw248) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw248) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw248) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw248) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw248) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw248) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw248) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw248) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} + +// combination 250/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, io.StringWriter +type rw249 rwState + +func (w *rw249) Unwrap() http.ResponseWriter { return w.w } +func (w *rw249) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw249) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw249) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw249) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw249) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw249) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw249) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw249) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw249) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw249) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 251/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, http.Pusher +type rw250 rwState + +func (w *rw250) Unwrap() http.ResponseWriter { return w.w } +func (w *rw250) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw250) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw250) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw250) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw250) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw250) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw250) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw250) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw250) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw250) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 252/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, http.Pusher, io.StringWriter +type rw251 rwState + +func (w *rw251) Unwrap() http.ResponseWriter { return w.w } +func (w *rw251) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw251) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw251) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw251) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw251) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw251) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw251) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw251) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw251) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw251) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw251) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 253/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler +type rw252 rwState + +func (w *rw252) Unwrap() http.ResponseWriter { return w.w } +func (w *rw252) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw252) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw252) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw252) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw252) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw252) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw252) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw252) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw252) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw252) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} + +// combination 254/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, io.StringWriter +type rw253 rwState + +func (w *rw253) Unwrap() http.ResponseWriter { return w.w } +func (w *rw253) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw253) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw253) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw253) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw253) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw253) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw253) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw253) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw253) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw253) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw253) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) +} + +// combination 255/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher +type rw254 rwState + +func (w *rw254) Unwrap() http.ResponseWriter { return w.w } +func (w *rw254) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw254) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw254) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw254) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw254) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw254) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw254) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw254) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw254) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw254) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw254) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} + +// combination 256/256: http.ResponseWriter, http.Flusher, http.CloseNotifier, http.Hijacker, io.ReaderFrom, deadliner, fullDuplexEnabler, http.Pusher, io.StringWriter +type rw255 rwState + +func (w *rw255) Unwrap() http.ResponseWriter { return w.w } +func (w *rw255) Header() http.Header { + return (*rwState)(w).doHeader() +} +func (w *rw255) WriteHeader(code int) { + (*rwState)(w).doWriteHeader(code) +} +func (w *rw255) Write(b []byte) (int, error) { + return (*rwState)(w).doWrite(b) +} +func (w *rw255) Flush() { + (*rwState)(w).doFlush() +} +func (w *rw255) CloseNotify() <-chan bool { + return (*rwState)(w).doCloseNotify() +} +func (w *rw255) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return (*rwState)(w).doHijack() +} +func (w *rw255) ReadFrom(src io.Reader) (int64, error) { + return (*rwState)(w).doReadFrom(src) +} +func (w *rw255) SetReadDeadline(deadline time.Time) error { + return (*rwState)(w).doSetReadDeadline(deadline) +} +func (w *rw255) SetWriteDeadline(deadline time.Time) error { + return (*rwState)(w).doSetWriteDeadline(deadline) +} +func (w *rw255) EnableFullDuplex() error { + return (*rwState)(w).doEnableFullDuplex() +} +func (w *rw255) Push(target string, opts *http.PushOptions) error { + return (*rwState)(w).doPush(target, opts) +} +func (w *rw255) WriteString(s string) (int, error) { + return (*rwState)(w).doWriteString(s) } type Unwrapper interface { @@ -2809,7 +7822,6 @@ func Unwrap(w http.ResponseWriter) http.ResponseWriter { if rw, ok := w.(Unwrapper); ok { // recurse until rw.Unwrap() returns a non-Unwrapper return Unwrap(rw.Unwrap()) - } else { - return w } + return w } From cc873b989902233617ca8a7030c8adda46b8530a Mon Sep 17 00:00:00 2001 From: warnar boekkooi Date: Fri, 22 May 2026 09:54:02 +0200 Subject: [PATCH 7/8] chore: combine the if statements --- codegen/main.go | 20 ++++++------ wrap_generated.go | 80 +++++++++++++++++++++-------------------------- 2 files changed, 47 insertions(+), 53 deletions(-) diff --git a/codegen/main.go b/codegen/main.go index 3b0f193..c834105 100644 --- a/codegen/main.go +++ b/codegen/main.go @@ -96,26 +96,28 @@ type Hooks struct { `, strings.Join(docList, "\n")) g.Printf("func Wrap(w http.ResponseWriter, hooks Hooks) http.ResponseWriter {\n") g.Printf("state := &rwState{w: w}\n") - // Precompute hook chains once per Wrap call. + + // Precompute hook chains once per Wrap call and + // build a uint8 combo index so the switch compiles to a jump table. + g.Printf("var combo uint8\n") for _, fn := range ifaces[0].Funcs { g.Printf("if hooks.%s != nil {\n", fn.Name) g.Printf("state.%s = hooks.%s(w.%s)\n", fieldName(fn.Name), fn.Name, fn.Name) g.Printf("}\n") } + for i, iface := range subIfaces { - g.Printf("t%[1]d, i%[1]d := w.(%s)\n", i, iface.Name) + g.Printf("if t%[1]d, i%[1]d := w.(%s); i%[1]d {\n", i, iface.Name) + bit := len(subIfaces) - i - 1 + g.Printf("combo |= 1<<%d\n", bit) for _, fn := range iface.Funcs { - g.Printf("if i%d && hooks.%s != nil {\n", i, fn.Name) + g.Printf("if hooks.%s != nil {\n", fn.Name) g.Printf("state.%s = hooks.%s(t%d.%s)\n", fieldName(fn.Name), fn.Name, i, fn.Name) g.Printf("}\n") } + g.Printf("}\n") } - // Build a uint8 combo index so the switch compiles to a jump table. - g.Printf("var combo uint8\n") - for i := range subIfaces { - bit := len(subIfaces) - i - 1 - g.Printf("if i%d { combo |= 1<<%d }\n", i, bit) - } + g.Printf("switch combo {\n") combinations := 1 << uint(len(subIfaces)) for c := 0; c < combinations; c++ { diff --git a/wrap_generated.go b/wrap_generated.go index 6064838..89d892f 100644 --- a/wrap_generated.go +++ b/wrap_generated.go @@ -84,6 +84,7 @@ type Hooks struct { // hooks can be used. func Wrap(w http.ResponseWriter, hooks Hooks) http.ResponseWriter { state := &rwState{w: w} + var combo uint8 if hooks.Header != nil { state.header = hooks.Header(w.Header) } @@ -93,65 +94,56 @@ func Wrap(w http.ResponseWriter, hooks Hooks) http.ResponseWriter { if hooks.Write != nil { state.write = hooks.Write(w.Write) } - t0, i0 := w.(http.Flusher) - if i0 && hooks.Flush != nil { - state.flush = hooks.Flush(t0.Flush) - } - t1, i1 := w.(http.CloseNotifier) - if i1 && hooks.CloseNotify != nil { - state.closeNotify = hooks.CloseNotify(t1.CloseNotify) - } - t2, i2 := w.(http.Hijacker) - if i2 && hooks.Hijack != nil { - state.hijack = hooks.Hijack(t2.Hijack) - } - t3, i3 := w.(io.ReaderFrom) - if i3 && hooks.ReadFrom != nil { - state.readFrom = hooks.ReadFrom(t3.ReadFrom) - } - t4, i4 := w.(deadliner) - if i4 && hooks.SetReadDeadline != nil { - state.setReadDeadline = hooks.SetReadDeadline(t4.SetReadDeadline) - } - if i4 && hooks.SetWriteDeadline != nil { - state.setWriteDeadline = hooks.SetWriteDeadline(t4.SetWriteDeadline) - } - t5, i5 := w.(fullDuplexEnabler) - if i5 && hooks.EnableFullDuplex != nil { - state.enableFullDuplex = hooks.EnableFullDuplex(t5.EnableFullDuplex) - } - t6, i6 := w.(http.Pusher) - if i6 && hooks.Push != nil { - state.push = hooks.Push(t6.Push) - } - t7, i7 := w.(io.StringWriter) - if i7 && hooks.WriteString != nil { - state.writeString = hooks.WriteString(t7.WriteString) - } - var combo uint8 - if i0 { + if t0, i0 := w.(http.Flusher); i0 { combo |= 1 << 7 + if hooks.Flush != nil { + state.flush = hooks.Flush(t0.Flush) + } } - if i1 { + if t1, i1 := w.(http.CloseNotifier); i1 { combo |= 1 << 6 + if hooks.CloseNotify != nil { + state.closeNotify = hooks.CloseNotify(t1.CloseNotify) + } } - if i2 { + if t2, i2 := w.(http.Hijacker); i2 { combo |= 1 << 5 + if hooks.Hijack != nil { + state.hijack = hooks.Hijack(t2.Hijack) + } } - if i3 { + if t3, i3 := w.(io.ReaderFrom); i3 { combo |= 1 << 4 + if hooks.ReadFrom != nil { + state.readFrom = hooks.ReadFrom(t3.ReadFrom) + } } - if i4 { + if t4, i4 := w.(deadliner); i4 { combo |= 1 << 3 + if hooks.SetReadDeadline != nil { + state.setReadDeadline = hooks.SetReadDeadline(t4.SetReadDeadline) + } + if hooks.SetWriteDeadline != nil { + state.setWriteDeadline = hooks.SetWriteDeadline(t4.SetWriteDeadline) + } } - if i5 { + if t5, i5 := w.(fullDuplexEnabler); i5 { combo |= 1 << 2 + if hooks.EnableFullDuplex != nil { + state.enableFullDuplex = hooks.EnableFullDuplex(t5.EnableFullDuplex) + } } - if i6 { + if t6, i6 := w.(http.Pusher); i6 { combo |= 1 << 1 + if hooks.Push != nil { + state.push = hooks.Push(t6.Push) + } } - if i7 { + if t7, i7 := w.(io.StringWriter); i7 { combo |= 1 << 0 + if hooks.WriteString != nil { + state.writeString = hooks.WriteString(t7.WriteString) + } } switch combo { case 0: From b7c251f3aea19f8f4c7fbba2d0ba02e71cebcedc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Geisend=C3=B6rfer?= Date: Sat, 23 May 2026 13:34:48 +0200 Subject: [PATCH 8/8] fix: capture metrics for WriteString --- capture_metrics.go | 10 ++++++++++ capture_metrics_test.go | 8 ++++++++ 2 files changed, 18 insertions(+) diff --git a/capture_metrics.go b/capture_metrics.go index 8f9191f..6874282 100644 --- a/capture_metrics.go +++ b/capture_metrics.go @@ -69,6 +69,16 @@ func (m *Metrics) CaptureMetrics(w http.ResponseWriter, fn func(http.ResponseWri } }, + WriteString: func(next WriteStringFunc) WriteStringFunc { + return func(s string) (int, error) { + n, err := next(s) + + m.Written += int64(n) + headerWritten = true + return n, err + } + }, + ReadFrom: func(next ReadFromFunc) ReadFromFunc { return func(src io.Reader) (int64, error) { n, err := next(src) diff --git a/capture_metrics_test.go b/capture_metrics_test.go index 238ed02..222c8cb 100644 --- a/capture_metrics_test.go +++ b/capture_metrics_test.go @@ -61,6 +61,14 @@ func TestCaptureMetrics(t *testing.T) { WantWritten: 17, WantCode: http.StatusOK, }, + { + Name: "string writer", + Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + _, _ = io.WriteString(w, "write string") + }), + WantWritten: int64(len("write string")), + WantCode: http.StatusOK, + }, { Name: "empty panic", Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {