Behält ProxyFromEnvironment beim Ustpassen vum Go HTTP-Transport
Behält dem Go seng Ëmfeld-Proxy-Auswiel, wann Dir Transport-Zäitlimiten oder Verbindungspools upasst, amplaz de Standard duerch eng eidel Proxy-Feld ze ersetzen.
De Standard-DefaultTransport vum Go setzt Proxy op ProxyFromEnvironment. En separat gebauten &http.Transport{} huet eng nil Proxy-Funktioun, déi keen Proxy auswieelt.
Dësen Ënnerscheed kann optrieden, nodeems en Transport just dobäi gesat gouf, fir eng Zäitlimite ze änneren. Wann de Standard nach installéiert ass, klont en a ännert d'Feld, dat Dir braucht:
transport := http.DefaultTransport.(*http.Transport).Clone()
transport.ResponseHeaderTimeout = 15 * time.Second
client := &http.Client{
Transport: transport,
Timeout: 30 * time.Second,
}De Klon behält d'Ëmfeld-Proxy-Auswiel an déi aner Standardastellunge vum Transport. D'Typ-Assertion geet dovun aus, datt d'Applikatioun DefaultTransport net duerch en aneren RoundTripper ersat huet.
Fir en Transport, deen absichtlech vun Null u gebaut gouf, setzt Proxy: http.ProxyFromEnvironment explizit, wann dat seng Routing-Politik ass. Eng explizit ProxyURL-Funktioun dréckt eng aner Politik aus: een ausgewielte Vermëttler.
Konfiguréiert den Transport, ier gläichzäiteg Ufroen en benotzen, an da benotzt en erëm fir d'Aarbechtslaascht. En gemeinsam Standardobjekt ze änneren kann onverbonne Clienten beaflossen.
Personaliséiert TLS-Astellunge sinn getrennt. D'Zertifikatsprüfung auszeschalten ass net néideg, fir d'Proxy-Entdeckung ze behalen, an et géif d'Sécherheet vun all passenden HTTPS-Ufro änneren.