Säilitage ProxyFromEnvironment Go HTTP-transpordi kohandamisel
Säilitage Go keskkonnapuhverserveri valik, kui kohandate transpordi ajalimiite või ühenduste basseine, selle asemel et asendada vaikeväärtus tühja Proxy-väljaga.
Go standardne DefaultTransport seab Proxy väärtusele ProxyFromEnvironment. Eraldi loodud &http.Transport{} omab nil Proxy-funktsiooni, mis ei vali ühtegi puhverserverit.
See erinevus võib ilmneda pärast transpordi lisamist ainult ajalimiidi muutmiseks. Kui standardne vaikeväärtus on endiselt paigaldatud, kloonige see ja muutke vajalikku välja:
transport := http.DefaultTransport.(*http.Transport).Clone()
transport.ResponseHeaderTimeout = 15 * time.Second
client := &http.Client{
Transport: transport,
Timeout: 30 * time.Second,
}Kloon säilitab keskkonnapuhverserveri valiku ja muud transpordi vaikeväärtused. Tüübikinnitus eeldab, et rakendus ei ole DefaultTransporti asendanud teise RoundTripperiga.
Kui transport on teadlikult nullist loodud, määrake Proxy: http.ProxyFromEnvironment selgesõnaliselt, kui see on selle marsruutimispoliitika. Selgesõnaline ProxyURL-funktsioon väljendab teistsugust poliitikat: üks valitud vahendaja.
Seadistage transport enne, kui paralleelsed päringud seda kasutama hakkavad, ja kasutage seda seejärel töökoormuse jaoks uuesti. Jagatud vaikeobjekti muutmine võib mõjutada seotud kliente.
Kohandatud TLS-i seaded on eraldiseisvad. Sertifikaadi kontrollimise keelamine ei ole puhverserveri avastamise säilitamiseks vajalik ja see muudaks iga vastava HTTPS-päringu turvalisust.