Tornado کے پراکسی اختیارات کو درست HTTP بیک اینڈ کی ضرورت ہے
پراکسی درخواست کے اختیارات ترتیب دینے سے پہلے Tornado کے فعال HTTP کلائنٹ کی عمل آوری چیک کریں۔
Tornado ایک غیر ہم وقت HTTP کلائنٹ انٹرفیس فراہم کرتا ہے، جس کے نیچے مختلف عمل آوریاں ہیں۔ اس لیے پراکسی اختیارات منتخب عمل آوری کی وجہ سے ناکام ہو سکتے ہیں، چاہے پراکسی کا آخری نقطہ درست ہو۔
HTTP کلائنٹ دستاویزات SimpleAsyncHTTPClient کو طے شدہ عمل آوری کے طور پر شناخت کرتی ہیں اور curl پر مبنی متبادل کی دستاویز کرتی ہیں۔ proxy_host جیسے درخواست کے اختیارات کے لیے عمل آوری کے مخصوص معاونت نوٹس ہوتے ہیں۔ fetch کال میں اختیارات شامل کرنے سے پہلے وہ نوٹس پڑھیں۔
کلائنٹ بنانے سے پہلے ترتیب دیں
جس ماحول میں پہلے سے curl بیک اینڈ موجود ہے، وہاں کوئی ایپلیکیشن اپنا مشترکہ کلائنٹ بنانے سے پہلے اسے منتخب کر سکتی ہے:
from tornado.httpclient import AsyncHTTPClient
AsyncHTTPClient.configure('tornado.curl_httpclient.CurlAsyncHTTPClient')
client = AsyncHTTPClient()
پھر مطلوبہ کال کے لیے دستاویز شدہ پراکسی ہوسٹ، پورٹ، توثیق اور وقت کی حد کے اختیارات استعمال کریں۔ ہوسٹ نام کو عددی پورٹ سے الگ رکھیں۔ بیک اینڈ منتخب کرنا بذات خود پراکسی کا آخری نقطہ منتخب نہیں کرتا۔ اجازت یافتہ عوامی HTTP راستے کے لیے HTTP پراکسی فہرست ان درخواست اختیارات کے لیے ہوسٹ اور پورٹ امیدوار فراہم کرتی ہے۔
کلائنٹ بنانا اہم ہے کیونکہ کوئی ایپلیکیشن یا فریم ورک اس کوڈ کے چلنے سے پہلے HTTP کلائنٹ بنا کر رکھ سکتا ہے۔ ناکام درخواست میں استعمال شدہ اصل انسٹینس کا معائنہ کریں، بجائے اس کے کہ بعد میں دوسرا کلائنٹ بنا کر فرض کریں کہ وہ پہلے کی وضاحت کرتا ہے۔
تشخیص کے لیے فعال بیک اینڈ اور اس کی بنیادی لائبریری کا ورژن ناکام مرحلے کے ساتھ ریکارڈ کریں۔ غیر معاون درخواست اختیار کو نیٹ ورک ٹائم آؤٹ اور پراکسی کی واپس کردہ HTTP ردعمل سے الگ پہچانیں۔ یہ مشاہدات مختلف اصلاحات کی طرف لے جاتے ہیں۔