Hald på ProxyFromEnvironment når du tilpassar HTTP-transporten til Go
Hald på valet av miljøproxy i Go når du tilpassar tidsgrenser eller tilkoplingsbasseng for transporten, i staden for å erstatta standarden med eit Proxy-felt med nullverdi.
Standard DefaultTransport i Go set Proxy til ProxyFromEnvironment. Ein separat bygd &http.Transport{} har ein nil Proxy-funksjon, som ikkje vel nokon proxy.
Denne skilnaden kan oppstå etter at ein transport er lagt til berre for å endra ei tidsgrense. Når standarden framleis er installert, klon han og endra feltet du treng:
transport := http.DefaultTransport.(*http.Transport).Clone()
transport.ResponseHeaderTimeout = 15 * time.Second
client := &http.Client{
Transport: transport,
Timeout: 30 * time.Second,
}Klonen tek vare på valet av miljøproxy og dei andre standardinnstillingane for transporten. Typesjekken føreset at applikasjonen ikkje har erstatta DefaultTransport med ein annan RoundTripper.
For ein transport som med vilje er bygd frå grunnen av, set Proxy: http.ProxyFromEnvironment eksplisitt når det er rutingpolitikken hans. Ein eksplisitt ProxyURL-funksjon uttrykkjer ein annan politikk: ein vald mellommann.
Konfigurer transporten før samtidige førespurnader tek han i bruk, og bruk han deretter på nytt for arbeidsmengda. Å endra eit delt standardobjekt kan påverka klientar utan tilknyting.
Tilpassa TLS-innstillingar er separate. Å slå av sertifikatvalidering er ikkje naudsynt for å halda på proxyoppdaging, og det ville endra tryggleiken til kvar samsvarande HTTPS-førespurnad.