Задржите ProxyFromEnvironment приликом прилагођавања Go HTTP транспорта
Сачувајте избор проксија из окружења у Go-у када прилагођавате временска ограничења или групе веза транспорта, уместо да задату вредност замените пољем Proxy са нултом вредношћу.
Стандардни DefaultTransport у Go поставља Proxy на ProxyFromEnvironment. Засебно изграђен &http.Transport{} има nil функцију Proxy, која не бира ниједан прокси.
Ова разлика може да се појави након додавања транспорта само ради промене временског ограничења. Док је стандардна задата вредност још инсталирана, клонирајте је и промените поље које вам треба:
transport := http.DefaultTransport.(*http.Transport).Clone()
transport.ResponseHeaderTimeout = 15 * time.Second
client := &http.Client{
Transport: transport,
Timeout: 30 * time.Second,
}Клон задржава избор проксија из окружења и остале задате поставке транспорта. Провера типа претпоставља да апликација није заменила DefaultTransport другим RoundTripper-ом.
За транспорт намерно изграђен од нуле, поставите Proxy: http.ProxyFromEnvironment изричито када је то његова политика усмеравања. Изричита функција ProxyURL изражава другачију политику: један изабрани посредник.
Конфигуришите транспорт пре него што га паралелни захтеви почну користити, а затим га поново употребите за радни терет. Промена заједничког задатог објекта може утицати на неповезане клијенте.
Прилагођене TLS поставке су одвојене. Онемогућавање провере сертификата није потребно да би се задржало откривање проксија и променило би безбедност сваког одговарајућег HTTPS захтева.