in pkg/proxy/proxy.go [53:79]
func (p *proxy) reverseProxy(target *url.URL) (*httputil.ReverseProxy, error) {
secret, err := p.ServiceAccount.Get()
if err != nil {
return nil, err
}
director := func(req *http.Request) {
// override the scheme and host.
req.URL.Scheme = target.Scheme
req.URL.Host = target.Host
req.URL.RawQuery = target.RawQuery
req.URL.Path = target.Path
req.URL.RawPath = target.RawPath
klog.V(2).Infof("rewritten URL to %s", req.URL)
p.proxyHeader(req, secret)
}
return &httputil.ReverseProxy{
Director: director,
Transport: &http.Transport{
TLSClientConfig: &tls.Config{
RootCAs: secret.RootCAs,
},
},
ErrorHandler: p.proxyError,
}, nil
}