Kun Ruby-luokka sisältää HTTPartyn, aseta välityspalvelin kyseiseen luokkaan ja tee pyynnöt sen kautta:

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

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

Esimerkki olettaa, että HTTParty on ladattu. Välityspalvelinmenetelmä ottaa isäntänimen ja kokonaislukuportin sekä valinnaiset käyttäjätunnus- ja salasanamerkkijonot. Sallittuun public-API-testiin ilman välityspalvelintiliä käytä HTTP-ehdokasta HTTP-välityspalvelinluettelosta isännälle ja portille. Jätä kohde-URL get-metodille.

Reportsin instanssimenetelmän sisällä käytä self.class.get(...), kun tarkoitus on kutsua juuri tätä määritettyä luokkamenetelmää. Ylätason HTTParty-moduulin kutsuminen voi sen sijaan ohittaa kääreen, jonka oletusarvot juuri määritit.

Sama ero on tärkeä, kun useat API-kääreet jakavat yhden sovelluksen. Anna kullekin sen tarkoitettu välityspalvelinkäytäntö sen sijaan, että muuttaisit HTTParty::Basementia globaalisti yhden luokan korjaamiseksi.

HTTParty tarjoaa myös pyyntökohtaisia välityspalvelinasetuksia, kuten http_proxyaddr ja http_proxyport. Käytä niitä, kun reitti on todella osa yhtä pyyntöä. Luokan oletusarvot ovat helpompia lukea, kun jokaisen Reports-toiminnon pitäisi seurata samaa polkua.

Aiheeseen liittyvät artikkelit