func IfHeaderIsURLThenChangeHost()

in util/util.go [49:63]


func IfHeaderIsURLThenChangeHost(r *http.Request, name, targetHost string) error {
	if r.Header.Get(name) == "" {
		return nil
	}
	headerURL, err := url.Parse(r.Header.Get(name))
	if err != nil {
		return fmt.Errorf("malformed URL in header %q in proxied request: %q", name, r.Header.Get(name))
	}
	if headerURL.Host == r.Host {
		headerURL.Host = targetHost
		headerURL.Scheme = "https"
	}
	r.Header.Set(name, headerURL.String())
	return nil
}