Behold ProxyFromEnvironment når du tilpasser Gos HTTP-transport
Bevar Gos valg av miljøproxy når du tilpasser tidsavbrudd eller tilkoblingspooler for transporten, i stedet for å erstatte standarden med et Proxy-felt med nullverdi.
Gos standard DefaultTransport setter Proxy til ProxyFromEnvironment. En separat bygget &http.Transport{} har en nil Proxy-funksjon, som ikke velger noen proxy.
Denne forskjellen kan oppstå etter at du har lagt til en transport bare for å endre en tidsavbrudd. Når standarden fortsatt er installert, klon den og endre feltet du trenger:
transport := http.DefaultTransport.(*http.Transport).Clone()
transport.ResponseHeaderTimeout = 15 * time.Second
client := &http.Client{
Transport: transport,
Timeout: 30 * time.Second,
}Klonen bevarer valget av miljøproxy og de andre standardinnstillingene for transporten. Typesjekken forutsetter at applikasjonen ikke har erstattet DefaultTransport med en annen RoundTripper.
For en transport som bevisst er bygget fra bunnen av, sett Proxy: http.ProxyFromEnvironment eksplisitt når det er dens rutingpolicy. En eksplisitt ProxyURL-funksjon uttrykker en annen policy: én valgt mellommann.
Konfigurer transporten før samtidige forespørsler bruker den, og bruk den deretter på nytt for arbeidsmengden. Å endre et delt standardobjekt kan påvirke urelaterte klienter.
Tilpassede TLS-innstillinger er separate. Deaktivering av sertifikatvalidering er ikke nødvendig for å beholde proxyoppdagelse, og det ville endre sikkerheten for hver samsvarende HTTPS-forespørsel.