NewReverseProxy creates a new cortex base reverse proxy
(target string, maxIdle, maxIdlePerHost int)
| 26 | |
| 27 | // NewReverseProxy creates a new cortex base reverse proxy |
| 28 | func NewReverseProxy(target string, maxIdle, maxIdlePerHost int) *httputil.ReverseProxy { |
| 29 | targetURL, err := url.Parse(target) |
| 30 | if err != nil { |
| 31 | panic(err) |
| 32 | } |
| 33 | |
| 34 | httpProxy := httputil.NewSingleHostReverseProxy(targetURL) |
| 35 | httpProxy.Transport = buildHTTPTransport(maxIdle, maxIdlePerHost) |
| 36 | |
| 37 | return httpProxy |
| 38 | } |
| 39 | |
| 40 | func buildHTTPTransport(maxIdle, maxIdlePerHost int) http.RoundTripper { |
| 41 | transport := http.DefaultTransport.(*http.Transport).Clone() |