Go standardni DefaultTransport postavlja Proxy na ProxyFromEnvironment. Zasebno izgrađen &http.Transport{} ima nil Proxy funkciju, koja ne bira nijedan proxy.

Ta razlika se može pojaviti nakon dodavanja transporta samo radi promene vremenskog limita. Dok je standardni zadati još instaliran, klonirajte ga i promenite polje koje vam treba:

transport := http.DefaultTransport.(*http.Transport).Clone()
transport.ResponseHeaderTimeout = 15 * time.Second

client := &http.Client{
    Transport: transport,
    Timeout: 30 * time.Second,
}

Klon zadržava izbor proxyja iz okruženja i ostale zadate postavke transporta. Provera tipa pretpostavlja da aplikacija nije zamenila DefaultTransport drugim RoundTripperom.

Za transport namerno izgrađen od nule, postavite Proxy: http.ProxyFromEnvironment izričito kada je to njegova politika usmeravanja. Izričita ProxyURL funkcija izražava drugačiju politiku: jedan izabrani posrednik.

Konfigurišite transport pre nego što ga paralelni zahtevi počnu koristiti, a zatim ga ponovo upotrebite za radni teret. Promena zajedničkog zadanog objekta može uticati na nepovezane klijente.

Prilagođene TLS postavke su odvojene. Onemogućavanje provere sertifikata nije potrebno da bi se zadržalo otkrivanje proxyja i promenilo bi bezbednost svakog odgovarajućeg HTTPS zahteva.

Povezani članci