Dem Go seng CONNECT-Headere op den Transport setzen
Schéckt en erfuerderlechen Header wärend CONNECT un en HTTP-Proxy, ouni en op d'Zilufro ze setzen.
En Header, deen http.Request.Header bäigefüügt gëtt, beschreift d'Zilufro. Wann HTTPS en HTTP-Proxy benotzt, mécht den Transport fir d'éischt CONNECT. D'Headere vun der Zilufro sinn net eng allgemeng Konfiguratiouns-API fir dee fréieren Austausch.
Fir en statteschen Header, deen ären Proxy verlaangt, konfiguréiert den ProxyConnectHeader vum Transport:
transport := &http.Transport{
Proxy: http.ProxyURL(proxyURL),
ProxyConnectHeader: http.Header{
"X-Proxy-Account": []string{"example-account"},
},
}Hei ass proxyURL déi analyséiert Endpunkt-URL. Den Header ass illustrativ a nëmme nëtzlech, wann den Proxy-Betreiber sou ee Feld definéiert.
Fir e Wäert, dee pro Proxy oder Zil gewielt gëtt, benotzt GetProxyConnectHeader. De dokumentéierte Callback kritt d'Proxy-URL an d'CONNECT-Zil. Wann dëse Callback net nil ass, gëtt de statesche Feld ProxyConnectHeader ignoréiert.
Halt d'Wäerter am virgesinnene Beräich. Eng Kontmark déi nëmme fir de Proxy ass, gehéiert zum Proxy-Austausch; en Autorisatiounswäert vun enger Websäit gehéiert zur Zilufro. Wann e Callback de verlaangten Handshake-Wäert net ka produzéieren, gëff säi Feeler zréck, amplaz stomm eng anescht konfiguréiert Ufro ze schécken.
Dës Astellunge passen d'Behandlung vum CONNECT un. Si erfannen keen eegene Authentifikatiounsprotokoll a änneren net d'Zougrëffspolitik vum Proxy-Service.