func()

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
}