HTTParty accepteert de forward-proxy als verzoekopties. Houd de service-URL als eerste argument:

response = HTTParty.get(
  'https://api.example/items',
  http_proxyaddr: 'proxy.example',
  http_proxyport: 8080,
  http_proxyuser: ENV.fetch('PROXY_USER'),
  http_proxypass: ENV.fetch('PROXY_PASSWORD'),
  headers: { 'Authorization' => "Bearer #{ENV.fetch('API_TOKEN')}" },
  open_timeout: 5,
  read_timeout: 15
)
puts response.code

De proxyhost en -poort wijzen de tussenpersoon aan. De proxygebruiker en het wachtwoord authenticeren daar. De Authorization-header hoort bij de API, waarvan het account heel anders kan zijn.

Laat bij een proxy zonder authenticatie http_proxyuser en http_proxypass weg. Neem voor een openbaar API-verzoek op een toegestane openbare route een HTTP-adres uit de HTTP-proxylijst, zonder proxyreferenties in het verzoek of in de klassewaarden te bewaren. Het hostveld wordt als proxyadres aan Net::HTTP doorgegeven; geef de hostnaam apart van de poort op, niet een bestemmings-URL of PAC-URL.

Een wrapperklasse die HTTParty bevat kan in plaats daarvan zijn klassenmethode http_proxy gebruiken om standaardwaarden in te stellen. Verzoekopties overschrijven die standaardwaarden voor de aanroep die ze opgeeft.

Dit beschrijft de standaardverbindingsadapter van HTTParty. Een aangepaste connection_adapter is verantwoordelijk voor het interpreteren van zijn opties, dus onderzoek die adapter wanneer een geldige instelling genegeerd lijkt te worden. Lees de HTTP-status apart van de geparseerde API-gegevens; geslaagde JSON-parsing is geen authenticatieresultaat.

Gerelateerde artikelen