כאשר מחלקת Ruby כוללת את HTTParty, הצב את ה-proxy על אותה מחלקה ובצע דרכו בקשות:

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

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

הדוגמה מניחה ש-HTTParty נטען. מתודת ה-proxy מקבלת שם מארח ופורט שלם, עם ארגומנטים אופציונליים של שם משתמש וסיסמה. לבדיקת public-API מורשית ללא חשבון proxy, השתמש במועמד HTTP מרשימת ה-proxy של HTTP עבור המארח והפורט. השאר את כתובת ה-URL של היעד על get.

בתוך מתודת מופע של Reports, השתמש ב-self.class.get(...) כאשר הכוונה היא לקרוא לאותה מתודת מחלקה מוגדרת. קריאה למודול HTTParty ברמה העליונה עלולה במקום זאת לעקוף את העטיפה שזה עתה הגדרת את ברירות המחדל שלה.

אותו הבדל חשוב כאשר כמה עטיפות API חולקות יישום אחד. תן לכל אחת את מדיניות ה-proxy המיועדת לה במקום לשנות את HTTParty::Basement באופן גלובלי כדי לתקן מחלקה אחת.

HTTParty חושף גם אפשרויות proxy לכל בקשה כגון http_proxyaddr ו-http_proxyport. השתמש בהן כאשר המסלול הוא באמת חלק מבקשה אחת. ברירות המחדל של המחלקה קלות יותר לקריאה כאשר כל פעולת Reports צריכה ללכת באותו מסלול.

מאמרים קשורים