Proxy-ul aparține clasei tale HTTParty
Păstrează configurația de proxy a unei clase HTTParty atașată de metoda clasei care trimite cererea.
Când o clasă Ruby include HTTParty, pune proxy-ul pe acea clasă și fă cererile prin ea:
class Reports
include HTTParty
http_proxy 'proxy.example', 8080
end
response = Reports.get('https://reports.example/monthly')Exemplul presupune că HTTParty este încărcat. Metoda proxy primește un nume de gazdă și un port întreg, cu argumente opționale de nume de utilizator și parolă. Pentru un test public-API permis fără cont de proxy, folosește un candidat HTTP din lista de proxy-uri HTTP pentru gazdă și port. Lasă URL-ul destinației pe get.
În interiorul unei metode de instanță a clasei Reports, folosește self.class.get(...) când intenția este să apelezi exact acea metodă de clasă configurată. Apelarea modulului HTTParty de nivel superior poate ocoli în schimb wrapper-ul căruia tocmai i-ai configurat valorile implicite.
Aceeași distincție contează când mai multe wrapper-e API împart o singură aplicație. Dă fiecăruia politica de proxy dorită, în loc să modifici global HTTParty::Basement pentru a repara o singură clasă.
HTTParty expune și opțiuni de proxy pe cerere, precum http_proxyaddr și http_proxyport. Folosește-le când ruta face cu adevărat parte dintr-o singură cerere. Valorile implicite ale clasei sunt mai ușor de citit când fiecare operație Reports trebuie să urmeze aceeași cale.