Konservu ProxyFromEnvironment kiam vi agordas la HTTP-transporton de Go
Konservu la medi-prokzan elekton de Go kiam vi agordas transportajn tempolimojn aŭ konektajn akumulojn, anstataŭ anstataŭigi la defaŭlton per nula Proxy-kampo.
La norma DefaultTransport de Go agordas Proxy al ProxyFromEnvironment. Aparte konstruita &http.Transport{} havas nulan Proxy-funkcion, kiu elektas neniun prokzon.
Tiu diferenco povas aperi post aldono de transporto nur por ŝanĝi tempolimon. Dum la norma defaŭlto ankoraŭ estas instalita, klonu ĝin kaj ŝanĝu la bezonatan kampon:
transport := http.DefaultTransport.(*http.Transport).Clone()
transport.ResponseHeaderTimeout = 15 * time.Second
client := &http.Client{
Transport: transport,
Timeout: 30 * time.Second,
}La klono konservas la medi-prokzan elekton kaj la aliajn defaŭltajn agordojn de la transporto. La tipa aserto supozas, ke la aplikaĵo ne anstataŭigis DefaultTransport per alia RoundTripper.
Por transporto intence konstruita de nulo, agordu Proxy: http.ProxyFromEnvironment eksplicite kiam tio estas ĝia enkursiga politiko. Eksplicita ProxyURL-funkcio esprimas alian politikon: unu elektita peranto.
Agordu la transporton antaŭ ol samtempaj petoj uzu ĝin, poste reuzu ĝin por la laborŝarĝo. Ŝanĝi komunan defaŭltan objekton povas influi neligitajn klientojn.
Propraj TLS-agordoj estas apartaj. Malŝalti atestilan kontroladon ne necesas por konservi prokzan malkovron, kaj ĝi ŝanĝus la sekurecon de ĉiu kongrua HTTPS-peto.