Go کا معیاری DefaultTransport، Proxy کو ProxyFromEnvironment پر سیٹ کرتا ہے۔ الگ سے بنایا گیا &http.Transport{} خالی 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 درخواست کی سلامتی بدل دے گا۔

متعلقہ مضامین