Go ର HTTP ଟ୍ରାନ୍ସପୋର୍ଟ କଷ୍ଟମାଇଜ୍ କରିବା ସମୟରେ ProxyFromEnvironment ରଖନ୍ତୁ
ଟ୍ରାନ୍ସପୋର୍ଟ ଟାଇମଆଉଟ୍ କିମ୍ବା ସଂଯୋଗ ପୁଲ୍ କଷ୍ଟମାଇଜ୍ କରିବା ସମୟରେ Go ର ପରିବେଶ ପ୍ରକ୍ସି ଚୟନ ସଂରକ୍ଷଣ କରନ୍ତୁ, ଡିଫଲ୍ଟକୁ ଶୂନ୍ୟ ମୂଲ୍ୟର Proxy ଫିଲ୍ଡ ସହିତ ବଦଳାଇବା ପରିବର୍ତ୍ତେ।
Go ର ମାନକ DefaultTransport, Proxy କୁ ProxyFromEnvironment ରେ ସେଟ୍ କରେ। ଅଲଗା ଭାବରେ ନିର୍ମିତ &http.Transport{} ର Proxy ଫଙ୍କସନ୍ nil ଥାଏ, ଯାହା କୌଣସି ପ୍ରକ୍ସି ଚୟନ କରେ ନାହିଁ।
କେବଳ ଏକ ଟାଇମଆଉଟ୍ ବଦଳାଇବା ପାଇଁ ଟ୍ରାନ୍ସପୋର୍ଟ ଯୋଡିବା ପରେ ଏହି ପାର୍ଥକ୍ୟ ଦେଖାଯାଇପାରେ। ମାନକ ଡିଫଲ୍ଟ ଯେତେବେଳେ ଇନଷ୍ଟଲ୍ ହୋଇ ରହିଛି, ଏହାକୁ କ୍ଲୋନ୍ କରି ଆବଶ୍ୟକ ଫିଲ୍ଡ ବଦଳାନ୍ତୁ:
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 ଅନୁରୋଧର ସୁରକ୍ଷା ବଦଳାଇବ।