រក្សា ProxyFromEnvironment ពេលកែសម្រួល HTTP transport របស់ Go
រក្សាការជ្រើសរើស proxy ពីបរិស្ថានរបស់ Go ពេលអ្នកកែសម្រួលពេលវេលាកំណត់ ឬអាងតភ្ជាប់របស់ transport ជំនួសឲ្យការជំនួសលំនាំដើមដោយវាល Proxy ទទេ។
DefaultTransport ស្តង់ដាររបស់ Go កំណត់ Proxy ទៅ ProxyFromEnvironment។ &http.Transport{} ដែលបានសាងសង់ដោយឡែកមានអនុគមន៍ Proxy nil ដែលមិនជ្រើសរើស proxy ណាមួយ។
ភាពខុសគ្នានេះអាចលេចឡើងបន្ទាប់ពីបន្ថែម transport គ្រាន់តែដើម្បីផ្លាស់ប្តូរពេលវេលាកំណត់។ នៅពេលលំនាំដើមស្តង់ដារនៅដំឡើង សូមក្លូនវា ហើយផ្លាស់ប្តូរវាលដែលអ្នកត្រូវការ៖
transport := http.DefaultTransport.(*http.Transport).Clone()
transport.ResponseHeaderTimeout = 15 * time.Second
client := &http.Client{
Transport: transport,
Timeout: 30 * time.Second,
}ក្លូនរក្សាការជ្រើសរើស proxy ពីបរិស្ថាន និងការកំណត់ transport លំនាំដើមផ្សេងទៀត។ ការផ្ទៀងផ្ទាត់ប្រភេទសន្មតថាកម្មវិធីមិនបានជំនួស DefaultTransport ដោយ RoundTripper ផ្សេង។
សម្រាប់ transport ដែលបានសាងសង់ដោយចេតនាពីសូន្យ សូមកំណត់ Proxy: http.ProxyFromEnvironment យ៉ាងច្បាស់ នៅពេលដែលវាជាគោលនយោបាយនាំផ្លូវរបស់វា។ អនុគមន៍ ProxyURL ច្បាស់លាស់បង្ហាញគោលនយោបាយផ្សេង៖ អន្តរការីមួយដែលបានជ្រើស។
កំណត់ transport មុនពេលសំណើស្របគ្នាប្រើវា បន្ទាប់មកប្រើវាឡើងវិញសម្រាប់បន្ទុកការងារ។ ការផ្លាស់ប្តូរវត្ថុលំនាំដើមដែលចែករំលែកអាចប៉ះពាល់ដល់អតិថិជនដែលមិនពាក់ព័ន្ធ។
ការកំណត់ TLS ផ្ទាល់ខ្លួនដាច់ដោយឡែក។ ការបិទការផ្ទៀងផ្ទាត់វិញ្ញាបនបត្រមិនចាំបាច់ដើម្បីរក្សាការស្វែងរក proxy ទេ ហើយវានឹងផ្លាស់ប្តូរសុវត្ថិភាពនៃសំណើ HTTPS ដែលត្រូវគ្នានីមួយៗ។