http.Request.Header میں شامل کیا گیا ہیڈر منزل کی درخواست بیان کرتا ہے۔ جب HTTPS کوئی HTTP پراکسی استعمال کرتا ہے تو transport پہلے CONNECT کرتا ہے۔ منزل کی درخواست کے ہیڈرز اس پہلے تبادلے کے لیے عمومی ترتیب API نہیں ہیں۔

اگر آپ کی پراکسی کوئی جامد ہیڈر مانگتی ہے تو transport کا ProxyConnectHeader ترتیب دیں:

transport := &http.Transport{
    Proxy: http.ProxyURL(proxyURL),
    ProxyConnectHeader: http.Header{
        "X-Proxy-Account": []string{"example-account"},
    },
}

یہاں proxyURL تجزیہ شدہ endpoint URL ہے۔ یہ ہیڈر مثال کے طور پر ہے اور صرف اسی صورت مفید ہے جب پراکسی آپریٹر ایسا فیلڈ متعین کرے۔

ہر پراکسی یا منزل کے لیے منتخب ہونے والی قدر کے لیے GetProxyConnectHeader استعمال کریں۔ دستاویزی کال بیک کو پراکسی URL اور CONNECT ہدف ملتے ہیں۔ جب یہ کال بیک nil نہ ہو تو جامد ProxyConnectHeader فیلڈ نظرانداز کر دیا جاتا ہے۔

اقدار کو مطلوبہ دائرے میں رکھیں۔ صرف پراکسی کے لیے اکاؤنٹ نشان پراکسی تبادلے کا حصہ ہے؛ ویب سائٹ کی اجازت کی قدر منزل کی درخواست کا حصہ ہے۔ اگر کال بیک مطلوبہ handshake قدر پیدا نہ کر سکے تو خاموشی سے مختلف ترتیب شدہ درخواست بھیجنے کے بجائے اس کی خرابی واپس کریں۔

یہ ترتیبات CONNECT کی معاونت کو حسبِ ضرورت بناتی ہیں۔ یہ اپنا توثیقی پروٹوکول ایجاد نہیں کرتیں اور نہ پراکسی سروس کی رسائی پالیسی بدلتی ہیں۔

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