Задржете го ProxyFromEnvironment при прилагодување на HTTP транспортот на Go
Зачувајте го изборот на прокси од околината на 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 барање.