Saat kelas Ruby menyertakan HTTParty, letakkan proxy pada kelas itu dan lakukan permintaan melaluinya:

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

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

Contoh mengasumsikan HTTParty sudah dimuat. Metode proxy menerima nama host dan port bilangan bulat, dengan argumen opsional nama pengguna dan kata sandi. Untuk uji public-API yang diizinkan tanpa akun proxy, gunakan kandidat HTTP dari daftar proxy HTTP untuk host dan port. Pertahankan URL tujuan pada get.

Di dalam metode instans Reports, gunakan self.class.get(...) ketika tujuannya memanggil metode kelas yang telah dikonfigurasi itu. Memanggil modul HTTParty tingkat atas sebagai gantinya dapat melewati pembungkus yang nilai bawaannya baru saja Anda konfigurasi.

Perbedaan yang sama penting ketika beberapa pembungkus API berbagi satu aplikasi. Beri masing-masing kebijakan proxy yang dimaksudkan daripada mengubah HTTParty::Basement secara global untuk memperbaiki satu kelas.

HTTParty juga menyediakan opsi proxy per permintaan seperti http_proxyaddr dan http_proxyport. Gunakan itu ketika rute benar-benar bagian dari satu permintaan. Nilai bawaan kelas lebih mudah dibaca ketika setiap operasi Reports harus mengikuti jalur yang sama.

Artikel terkait