1 // File automatically generated with ./override.sh - DO NOT EDIT 2 3 package httpwrap 4 5 import ( 6 "io" 7 "net/http" 8 ) 9 10 // Override is an interface for overriding interfaces on a http.ResponseWriter 11 type Override interface { 12 Set(*types) 13 } 14 15 // StringWriter is an interface for writing strings 16 type StringWriter interface { 17 WriteString(string) (int, error) 18 } 19 20 type writer struct { 21 io.Writer 22 } 23 24 func (i writer) Set(t *types) { 25 t.responseWriterOverride = true 26 t.Writer = i.Writer 27 } 28 29 // OverrideWriter is used to set an override for io.Writer 30 func OverrideWriter(t io.Writer) Override { 31 return writer{t} 32 } 33 34 type headers struct { 35 Headers 36 } 37 38 func (i headers) Set(t *types) { 39 t.responseWriterOverride = true 40 t.Headers = i.Headers 41 } 42 43 // OverrideHeaders is used to set an override for Headers 44 func OverrideHeaders(t Headers) Override { 45 return headers{t} 46 } 47 48 type headerwriter struct { 49 HeaderWriter 50 } 51 52 func (i headerwriter) Set(t *types) { 53 t.responseWriterOverride = true 54 t.HeaderWriter = i.HeaderWriter 55 } 56 57 // OverrideHeaderWriter is used to set an override for HeaderWriter 58 func OverrideHeaderWriter(t HeaderWriter) Override { 59 return headerwriter{t} 60 } 61 62 type flusher struct { 63 http.Flusher 64 } 65 66 func (i flusher) Set(t *types) { 67 t.Flusher = i.Flusher 68 } 69 70 // OverrideFlusher is used to set an override for http.Flusher 71 func OverrideFlusher(t http.Flusher) Override { 72 return flusher{t} 73 } 74 75 type hijacker struct { 76 http.Hijacker 77 } 78 79 func (i hijacker) Set(t *types) { 80 t.Hijacker = i.Hijacker 81 } 82 83 // OverrideHijacker is used to set an override for http.Hijacker 84 func OverrideHijacker(t http.Hijacker) Override { 85 return hijacker{t} 86 } 87 88 type pusher struct { 89 http.Pusher 90 } 91 92 func (i pusher) Set(t *types) { 93 t.Pusher = i.Pusher 94 } 95 96 // OverridePusher is used to set an override for http.Pusher 97 func OverridePusher(t http.Pusher) Override { 98 return pusher{t} 99 } 100 101 type stringwriter struct { 102 StringWriter 103 } 104 105 func (i stringwriter) Set(t *types) { 106 t.StringWriter = i.StringWriter 107 } 108 109 // OverrideStringWriter is used to set an override for StringWriter 110 func OverrideStringWriter(t StringWriter) Override { 111 return stringwriter{t} 112 }