Når en Ruby-klasse tar med HTTParty, plasserer du proxyen på den klassen og sender forespørsler gjennom den:

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

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

Eksempelet forutsetter at HTTParty er lastet inn. Proxy-metoden tar et vertsnavn og en port som heltall, med valgfrie argumenter for brukernavn og passord. For en tillatt public-API-test uten proxy-konto kan du bruke en HTTP-kandidat fra listen over HTTP-proxyer for verten og porten. La destinasjons-URL-en bli stående på get.

Inne i en instansmetode for Reports bruker du self.class.get(...) når intensjonen er å kalle den konfigurerte klassemetoden. Å kalle HTTParty-modulen på øverste nivå i stedet kan hoppe over innpakningen du nettopp satte standardverdiene for.

Den samme forskjellen er viktig når flere API-innpakninger deler én applikasjon. Gi hver av dem den tiltenkte proxy-policyen sin i stedet for å endre HTTParty::Basement globalt for å reparere én klasse.

HTTParty eksponerer også proxy-alternativer per forespørsel som http_proxyaddr og http_proxyport. Bruk dem når ruten faktisk er en del av én forespørsel. Standardverdier på klassenivå er enklere å lese når hver Reports-operasjon skal følge samme vei.

Relaterte artikler