وقتی یک کلاس Ruby شامل HTTParty است، پروکسی را روی همان کلاس بگذارید و درخواست‌ها را از طریق آن بفرستید:

class Reports
  include HTTParty
  http_proxy 'proxy.example', 8080
end

response = Reports.get('https://reports.example/monthly')

مثال فرض می‌کند HTTParty بارگذاری شده است. متد پروکسی یک نام میزبان و پورت صحیح می‌گیرد، همراه با آرگومان‌های اختیاری نام کاربری و رمز عبور. برای یک آزمون مجاز public-API بدون حساب پروکسی، از یک گزینه HTTP از فهرست پروکسی HTTP برای میزبان و پورت استفاده کنید. نشانی مقصد را روی get نگه دارید.

درون یک متد نمونه از Reports، وقتی قصد فراخوانی همان متد کلاس پیکربندی‌شده را دارید از self.class.get(...) استفاده کنید. فراخوانی ماژول سطح بالای HTTParty در عوض می‌تواند از پوششی که تازه پیش‌فرض‌هایش را پیکربندی کردید عبور کند.

همین تمایز وقتی چند پوشش API یک برنامه را شریک می‌شوند مهم است. به هرکدام خط‌مشی پروکسی موردنظرش را بدهید، نه اینکه HTTParty::Basement را به‌طور سراسری برای تعمیر یک کلاس تغییر دهید.

HTTParty همچنین گزینه‌های پروکسی برای هر درخواست مانند http_proxyaddr و http_proxyport را ارائه می‌دهد. وقتی مسیر واقعاً بخشی از یک درخواست است از آن‌ها استفاده کنید. پیش‌فرض‌های کلاس وقتی هر عملیات Reports باید همان مسیر را دنبال کند خواناتر هستند.

مقالات مرتبط