Set Go syn CONNECT-headers op de Transport
Stjoer in fereaske header by CONNECT nei in HTTP-proxy sûnder dy op 'e oanfraach fan 'e bestemming te setten.
In header dy't oan http.Request.Header taheakke wurdt, beskriuwt de oanfraach fan 'e bestemming. As HTTPS in HTTP-proxy brûkt, docht de transport earst CONNECT. De headers fan 'e oanfraach fan 'e bestemming binne gjin algemiene konfiguraasje-API foar dy eardere útwikseling.
Foar in statyske header dy't jo proxy freget, konfigurearje it ProxyConnectHeader fan 'e transport:
transport := &http.Transport{
Proxy: http.ProxyURL(proxyURL),
ProxyConnectHeader: http.Header{
"X-Proxy-Account": []string{"example-account"},
},
}Hjir is proxyURL de ûntlede endpoint-URL. De header is yllustratyf en allinnich nuttich as de proxy-operator sa'n fjild definiearret.
Foar in wearde dy't per proxy of bestemming keazen wurdt, brûk GetProxyConnectHeader. De dokumintearre callback krijt de proxy-URL en it CONNECT-doel. As dizze callback net nil is, wurdt it statyske fjild ProxyConnectHeader negearre.
Hâld wearden binnen it bedoelde berik. In accountmarker allinnich foar de proxy heart by de proxy-útwikseling; in autorisaasjewearde fan in website heart by de oanfraach fan 'e bestemming. As in callback de fereaske handshake-wearde net produsearje kin, jou dan syn flater werom ynstee fan stil in oars konfigurearre oanfraach te stjoeren.
Dizze ynstellingen paske de ôfhanneling fan CONNECT oan. Se betinke gjin eigen autentikaasjeprotokol en feroarje it tagongspolityk fan 'e proxytjinst net.