HTTParty accepterer forward-proxyen som anmodningsindstillinger. Behold tjenestens URL som det 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

Proxyværten og -porten angiver mellemleddet. Proxybrugeren og -adgangskoden godkendes der. Authorization-headeren tilhører API'et, hvis konto kan være helt anderledes.

For en proxy uden godkendelse udelades http_proxyuser og http_proxypass. For en offentlig API-anmodning på en tilladt offentlig rute tages en HTTP-adresse fra HTTP-proxylisten, uden at proxyoplysninger bevares i anmodningen eller i klassens standardværdier. Værtfeltet sendes som proxyadresse til Net::HTTP; angiv værtsnavnet adskilt fra porten, ikke en destinations-URL eller PAC-URL.

En wrapperklasse, der inkluderer HTTParty, kan i stedet bruge sin http_proxy-klassemetode til at sætte standardværdier. Anmodningsindstillinger tilsidesætter disse standardværdier for det kald, der angiver dem.

Dette beskriver HTTPartys standardforbindelsesadapter. En tilpasset connection_adapter er ansvarlig for at fortolke sine indstillinger, så undersøg den adapter, når en gyldig indstilling ser ud til at blive ignoreret. Læs HTTP-status separat fra de parsede API-data; vellykket JSON-parsning er ikke et godkendelsesresultat.

Relaterede artikler