เมื่อคลาส Ruby รวม HTTParty ไว้ ให้วางพร็อกซีบนคลาสนั้นและส่งคำขอผ่านคลาสนั้น:

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

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

ตัวอย่างถือว่าโหลด HTTParty แล้ว เมธอดพร็อกซีรับชื่อโฮสต์และพอร์ตจำนวนเต็ม พร้อมอาร์กิวเมนต์ชื่อผู้ใช้และรหัสผ่านแบบไม่บังคับ สำหรับการทดสอบ public-API ที่ได้รับอนุญาตโดยไม่มีบัญชีพร็อกซี ให้ใช้ผู้สมัคร HTTP จากรายการพร็อกซี HTTPสำหรับโฮสต์และพอร์ต เก็บ URL ปลายทางไว้บน get

ภายในเมธอดอินสแตนซ์ของ Reports ให้ใช้ self.class.get(...) เมื่อเจตนาคือเรียกเมธอดของคลาสที่กำหนดค่าไว้นั้น การเรียกมอดูล HTTParty ระดับบนสุดแทนอาจข้ามตัวห่อที่คุณเพิ่งกำหนดค่าเริ่มต้นไว้

ความแตกต่างเดียวกันนี้สำคัญเมื่อตัวห่อ API หลายตัวใช้แอปพลิเคชันร่วมกัน ให้แต่ละตัวมีนโยบายพร็อกซีตามที่ตั้งใจไว้ แทนการเปลี่ยน HTTParty::Basement ทั้งระบบเพื่อซ่อมคลาสเดียว

HTTParty ยังเปิดตัวเลือกพร็อกซีต่อคำขอ เช่น http_proxyaddr และ http_proxyport ใช้ตัวเลือกเหล่านั้นเมื่อเส้นทางเป็นส่วนหนึ่งของคำขอเดียวจริง ๆ ค่าเริ่มต้นของคลาสอ่านง่ายกว่าเมื่อทุกการทำงานของ Reports ต้องเดินเส้นทางเดียวกัน

บทความที่เกี่ยวข้อง