Gon vakio DefaultTransport asettaa Proxy-kentän arvoon ProxyFromEnvironment. Erikseen rakennetulla &http.Transport{} on nil-Proxy-funktio, joka ei valitse välityspalvelinta.

Tämä ero voi ilmetä, kun siirto on lisätty vain aikakatkaisun muuttamiseksi. Kun vakio-oletus on yhä asennettu, kloonaa se ja muuta tarvittavaa kenttää:

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

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

Klooni säilyttää ympäristön välityspalvelimen valinnan ja muut siirron oletusasetukset. Tyyppiväite olettaa, ettei sovellus ole korvannut DefaultTransportia toisella RoundTripperilla.

Siirrolle, joka on tarkoituksella rakennettu tyhjästä, aseta Proxy: http.ProxyFromEnvironment eksplisiittisesti, kun kyseessä on sen reitityskäytäntö. Eksplisiittinen ProxyURL-funktio ilmaisee toista käytäntöä: yksi valittu välittäjä.

Määritä siirto ennen kuin rinnakkaiset pyynnöt käyttävät sitä, ja käytä sitä sen jälkeen uudelleen työkuormalle. Jaetun oletusobjektin muuttaminen voi vaikuttaa asiaankuulumattomiin asiakkaisiin.

Mukautetut TLS-asetukset ovat erillisiä. Varmenteen tarkistuksen poistaminen käytöstä ei ole tarpeen välityspalvelimen löytämiseksi, ja se muuttaisi jokaisen vastaavan HTTPS-pyynnön turvallisuutta.

Aiheeseen liittyvät artikkelit