Når en Ruby-klasse inkluderer HTTParty, setter 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')

Eksemplet forutsetter at HTTParty er lastet. Proxy-metoden tar et vertsnavn og en heltallsport, med valgfrie argumenter for brukernavn og passord. For en tillatt public-API-test uten proxykonto bruker du en HTTP-kandidat fra HTTP-proxylisten for verten og porten. La mål-URL-en stå på get.

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

Den samme forskjellen betyr noe når flere API-innpakninger deler én applikasjon. Gi hver av dem sin tiltenkte proxypolicy i stedet for å endre HTTParty::Basement globalt for å reparere én klasse.

HTTParty tilbyr også proxyvalg per forespørsel som http_proxyaddr og http_proxyport. Bruk dem når ruten virkelig er en del av én forespørsel. Klasse-standardverdier er lettere å lese når hver Reports-operasjon skal følge samme vei.

Relaterte artikler