Il proxy appartiene alla tua classe HTTParty
Mantieni la configurazione proxy di una classe HTTParty collegata al metodo di classe che invia la richiesta.
Quando una classe Ruby include HTTParty, metti il proxy su quella classe ed esegui le richieste attraverso di essa:
class Reports
include HTTParty
http_proxy 'proxy.example', 8080
end
response = Reports.get('https://reports.example/monthly')L'esempio presuppone che HTTParty sia caricato. Il metodo proxy accetta un nome host e una porta intera, con argomenti opzionali di nome utente e password. Per un test public-API consentito senza account proxy, usa un candidato HTTP dall'elenco dei proxy HTTP per l'host e la porta. Mantieni l'URL di destinazione su get.
All'interno di un metodo di istanza di Reports, usa self.class.get(...) quando l'intenzione è chiamare proprio quel metodo di classe configurato. Chiamare invece il modulo HTTParty di livello superiore può aggirare il wrapper di cui hai appena configurato i valori predefiniti.
La stessa distinzione conta quando più wrapper API condividono una sola applicazione. Assegna a ciascuno la sua politica proxy prevista invece di modificare HTTParty::Basement globalmente per riparare una classe.
HTTParty espone anche opzioni proxy per singola richiesta come http_proxyaddr e http_proxyport. Usale quando la rotta fa davvero parte di una singola richiesta. I valori predefiniti di classe sono più facili da leggere quando ogni operazione di Reports deve seguire lo stesso percorso.