Når en Ruby-klasse inkluderer HTTParty, skal du sætte proxyen på den klasse og sende anmodninger gennem den:

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

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

Eksemplet antager, at HTTParty er indlæst. Proxy-metoden tager et værtsnavn og en heltalsport, med valgfrie brugernavn- og adgangskodeargumenter. Til en tilladt public-API-test uden proxykonto skal du bruge en HTTP-kandidat fra HTTP-proxylisten til værten og porten. Behold destinations-URL'en på get.

Inde i en instansmetode i Reports skal du bruge self.class.get(...), når hensigten er at kalde netop den konfigurerede klassemetode. At kalde HTTParty-modulet på øverste niveau kan i stedet omgå den indpakning, hvis standardværdier du netop har konfigureret.

Den samme sondring er vigtig, når flere API-indpakninger deler én applikation. Giv hver især sin tilsigtede proxypolitik i stedet for at ændre HTTParty::Basement globalt for at reparere én klasse.

HTTParty eksponerer også proxyindstillinger pr. anmodning som http_proxyaddr og http_proxyport. Brug dem, når ruten reelt er en del af én anmodning. Klassens standardværdier er lettere at læse, når hver Reports-operation skal følge samme vej.

Relaterede artikler