HTTParty tar imot videresendingsproxyen som valg på forespørselen. La tjenestens URL stå som første 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

Proxyverten og -porten peker ut mellomleddet. Proxybrukernavn og -passord autentiseres der. Authorization-headeren hører til API-et, og kontoen der kan være helt forskjellig.

Finnes det ingen autentisering på proxyen, sløyfer du http_proxyuser og http_proxypass. For en offentlig API-forespørsel på en tillatt offentlig rute henter du en HTTP-adresse fra HTTP-proxylisten uten å la proxy-legitimasjoner bli liggende i forespørselen eller i klasseoptimalene. Vertsfeltet sendes som proxyadresse til Net::HTTP; oppgi vertsnavnet for seg, atskilt fra porten, og ikke en mål-URL eller PAC-URL.

En omslagsklasse som inkluderer HTTParty kan heller bruke http_proxy-klassemetoden for å sette standardverdier. Valg på forespørselen overstyrer disse standardverdiene for kallet som sender dem.

Dette gjelder HTTPartys standardadapter for tilkobling. En egen connection_adapter har ansvaret for å tolke valgene sine, så sjekk den adapteren når en gyldig innstilling virker oversett. Les HTTP-statusen atskilt fra de tolkede API-dataene; vellykket JSON-tolking er ikke et autentiseringsresultat.

Relaterte artikler