Պահպանեք ProxyFromEnvironment-ը Go-ի HTTP փոխադրամիջոցը հարմարեցնելիս
Պահպանեք Go-ի միջավայրի փրոքսի ընտրությունը, երբ հարմարեցնում եք փոխադրամիջոցի ժամանակային սահմանները կամ միացումների լողավազանները՝ ստանդարտը զրոյական Proxy դաշտով փոխարինելու փոխարեն։
Go-ի ստանդարտ DefaultTransport-ը 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 հարցման անվտանգությունը։