Когато Ruby клас включва HTTParty, поставете проксито на този клас и правете заявките през него:

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

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

Примерът предполага, че HTTParty е зареден. Методът за прокси приема име на хост и цяло число за порт, с незадължителни аргументи за потребителско име и парола. За разрешен тест на public-API без прокси акаунт използвайте HTTP кандидат от списъка с HTTP прокси за хоста и порта. Оставете URL адреса на дестинацията на get.

В метод на екземпляр на Reports използвайте self.class.get(...), когато намерението е да извикате точно този конфигуриран метод на класа. Извикването на модула HTTParty от най-горно ниво вместо това може да заобиколи обвивката, чиито настройки по подразбиране току-що конфигурирахте.

Същото разграничение е важно, когато няколко API обвивки споделят едно приложение. Дайте на всяка нейната преднамерена прокси политика, вместо да променяте HTTParty::Basement глобално, за да поправите един клас.

HTTParty също предлага прокси опции за отделна заявка като http_proxyaddr и http_proxyport. Използвайте ги, когато маршрутът наистина е част от една заявка. Настройките по подразбиране на класа се четат по-лесно, когато всяка операция на Reports трябва да следва същия път.

Подобни статии