Legg Go CONNECT-hovuda på Transport
Send ein påkravd hovud til ein HTTP-proxy under CONNECT utan å leggje det på førespurnaden til destinasjonen.
Eit hovud som blir lagt til http.Request.Header, skildrar førespurnaden til destinasjonen. Når HTTPS brukar ein HTTP-proxy, utfører transporten først CONNECT. Hovuda til førespurnaden til destinasjonen er ikkje eit generelt konfigurasjons-API for den tidlegare utvekslinga.
For eit statisk hovud som proxyen din krev, konfigurer ProxyConnectHeader til transporten:
transport := &http.Transport{
Proxy: http.ProxyURL(proxyURL),
ProxyConnectHeader: http.Header{
"X-Proxy-Account": []string{"example-account"},
},
}Her er proxyURL den analyserte endepunkt-URL-en. Hovudet er illustrativt og berre nyttig når proxyoperatøren definerer eit slikt felt.
For ein verdi som blir vald per proxy eller destinasjon, bruk GetProxyConnectHeader. Den dokumenterte tilbakekallinga får proxy-URL-en og CONNECT-målet. Når denne tilbakekallinga ikkje er nil, blir det statiske feltet ProxyConnectHeader ignorert.
Hald verdiane innanfor det tiltenkte omfanget. Ein kontomerking berre for proxyen høyrer til proxyutvekslinga; ein autorisasjonsverdi for eit nettstad høyrer til førespurnaden til destinasjonen. Viss ei tilbakekalling ikkje kan produsere den påkravde handtrykksverdien, returner feilen i staden for å stille sende ein annleis konfigurert førespurnad.
Desse innstillingane tilpassar CONNECT-handteringa. Dei finn ikkje opp ein eigen autentiseringsprotokoll og endrar ikkje tilgangspolitikken til proxy-tenesta.