Калі клас 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 павінна ісці тым жа шляхам.

Падобныя артыкулы