بالنسبة لتطبيق HTTPotion قائم، مرّر نقطة النهاية إلى ناقله ibrowse:

response = HTTPotion.get(
  "http://www.example.com/",
  ibrowse: [proxy_host: ~c"proxy.example", proxy_port: 8080]
)

يوفّر النص الحرفي ~c قائمة محارف Erlang لاسم مضيف الوكيل. والمنفذ عدد صحيح. ويمكن لنقطة نهاية HTTP من قائمة وكلاء HTTP أن تملأ هذين الحقلين للطلب العام المسموح به الموضّح، دون إضافة حساب وكيل. ويشير ملف README الخاص بـ HTTPotion إلى أن خيارات ibrowse تستخدم عادةً قوائم محارف بدلًا من سلاسل Elixir الثنائية العادية.

يبقى عنوان URL الخارجي هو الوجهة. أما قائمة الكلمات المفتاحية المتداخلة لـ ibrowse فهي تسليم خيارات الناقل؛ وليست ترويسة HTTP ولا معامل استعلام.

عالج Response أو ErrorResponse التي يعيدها HTTPotion عبر المسار المعتاد في التطبيق. فقد تُعيد الدالة غير البانغ كائن خطأ، بينما ترفع get! استثناءً عند فشل العملية.

هذا مرجع صيانة لـ HTTPotion، الذي يضع مشرفه علامة مهجور عليه. وHTTPoison مكتبة مختلفة بواجهة ناقل أخرى؛ ووسيط الوكيل فيها ليس الخيار نفسه لمجرد تشابه الأسماء.

مقالات ذات صلة