Wenn eine Ruby-Klasse HTTParty einbindet, lege den Proxy auf diese Klasse und sende Anfragen über sie:

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

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

Das Beispiel setzt voraus, dass HTTParty geladen ist. Die Proxy-Methode nimmt einen Hostnamen und einen ganzzahligen Port sowie optionale Argumente für Benutzername und Passwort. Für einen erlaubten public-API-Test ohne Proxy-Konto verwende einen HTTP-Kandidaten aus der HTTP-Proxy-Liste für Host und Port. Belasse die Ziel-URL bei get.

Innerhalb einer Instanzmethode von Reports verwende self.class.get(...), wenn die Absicht ist, genau diese konfigurierte Klassenmethode aufzurufen. Der Aufruf des übergeordneten HTTParty-Moduls kann stattdessen den Wrapper umgehen, dessen Standardwerte du gerade konfiguriert hast.

Dieselbe Unterscheidung zählt, wenn mehrere API-Wrapper eine Anwendung teilen. Gib jedem seine vorgesehene Proxy-Richtlinie, statt HTTParty::Basement global zu ändern, um eine Klasse zu reparieren.

HTTParty bietet außerdem Proxy-Optionen pro Anfrage wie http_proxyaddr und http_proxyport. Verwende diese, wenn die Route wirklich Teil einer einzelnen Anfrage ist. Klassenstandards sind leichter zu lesen, wenn jede Reports-Operation denselben Weg gehen soll.

Ähnliche Artikel