Keď trieda Ruby zahŕňa HTTParty, umiestnite proxy na túto triedu a posielajte požiadavky cez ňu:

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

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

Príklad predpokladá, že HTTParty je načítané. Metóda proxy prijíma názov hostiteľa a celočíselný port, s voliteľnými argumentmi používateľského mena a hesla. Pre povolený test public-API bez proxy účtu použite HTTP kandidáta zo zoznamu HTTP proxy pre hostiteľa a port. Nechajte cieľovú URL na get.

Vo vnútri inštančnej metódy Reports použite self.class.get(...), keď je zámerom zavolať práve túto nakonfigurovanú metódu triedy. Volanie modulu HTTParty najvyššej úrovne môže namiesto toho obísť obal, ktorého predvolené hodnoty ste práve nastavili.

Rovnaké rozlíšenie je dôležité, keď viacero obalov API zdieľa jednu aplikáciu. Dajte každému jeho zamýšľanú proxy politiku namiesto globálnej zmeny HTTParty::Basement, aby ste opravili jednu triedu.

HTTParty tiež vystavuje proxy možnosti pre jednotlivú požiadavku, ako sú http_proxyaddr a http_proxyport. Použite ich, keď je trasa skutočne súčasťou jednej požiadavky. Predvolené hodnoty triedy sa čítajú ľahšie, keď má každá operácia Reports sledovať rovnakú cestu.

Súvisiace články