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
}