Merge pull request #2985 from novas0x2a/default-transport
make it possible to wrap the client transport in another onemaster
						commit
						bdf3438b52
					
				|  | @ -6,6 +6,13 @@ import ( | ||||||
| 	"sync" | 	"sync" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | func identityTransportWrapper(rt http.RoundTripper) http.RoundTripper { | ||||||
|  | 	return rt | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // DefaultTransportWrapper allows a user to wrap every generated transport
 | ||||||
|  | var DefaultTransportWrapper = identityTransportWrapper | ||||||
|  | 
 | ||||||
| // RequestModifier represents an object which will do an inplace
 | // RequestModifier represents an object which will do an inplace
 | ||||||
| // modification of an HTTP request.
 | // modification of an HTTP request.
 | ||||||
| type RequestModifier interface { | type RequestModifier interface { | ||||||
|  | @ -31,10 +38,11 @@ func (h headerModifier) ModifyRequest(req *http.Request) error { | ||||||
| // NewTransport creates a new transport which will apply modifiers to
 | // NewTransport creates a new transport which will apply modifiers to
 | ||||||
| // the request on a RoundTrip call.
 | // the request on a RoundTrip call.
 | ||||||
| func NewTransport(base http.RoundTripper, modifiers ...RequestModifier) http.RoundTripper { | func NewTransport(base http.RoundTripper, modifiers ...RequestModifier) http.RoundTripper { | ||||||
| 	return &transport{ | 	return DefaultTransportWrapper( | ||||||
| 		Modifiers: modifiers, | 		&transport{ | ||||||
| 		Base:      base, | 			Modifiers: modifiers, | ||||||
| 	} | 			Base:      base, | ||||||
|  | 		}) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // transport is an http.RoundTripper that makes HTTP requests after
 | // transport is an http.RoundTripper that makes HTTP requests after
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue