De proxy hoort op je HTTParty-klasse
Houd de proxyconfiguratie van een HTTParty-klasse vast aan de klassemethode die het verzoek verstuurt.
Wanneer een Ruby-klasse HTTParty opneemt, zet de proxy op die klasse en doe verzoeken erdoorheen:
class Reports
include HTTParty
http_proxy 'proxy.example', 8080
end
response = Reports.get('https://reports.example/monthly')Het voorbeeld gaat ervan uit dat HTTParty is geladen. De proxymethode neemt een hostnaam en een geheel getal als poort, met optionele argumenten voor gebruikersnaam en wachtwoord. Voor een toegestane public-API-test zonder proxyaccount gebruik je een HTTP-kandidaat uit de HTTP-proxylijst voor de host en poort. Laat de bestemmings-URL op get staan.
Binnen een instantiemethode van Reports gebruik je self.class.get(...) wanneer de bedoeling is precies die geconfigureerde klassemethode aan te roepen. Het aanroepen van de HTTParty-module op het hoogste niveau kan in plaats daarvan de wrapper omzeilen waarvan je zojuist de standaardwaarden hebt geconfigureerd.
Hetzelfde onderscheid is belangrijk wanneer meerdere API-wrappers één applicatie delen. Geef elk zijn bedoelde proxybeleid in plaats van HTTParty::Basement wereldwijd te wijzigen om één klasse te repareren.
HTTParty biedt ook proxyopties per verzoek zoals http_proxyaddr en http_proxyport. Gebruik die wanneer de route echt deel is van één verzoek. Klasse-standaardwaarden zijn makkelijker te lezen wanneer elke Reports-bewerking dezelfde weg moet volgen.