OkHttp zahtjev nema općenito promjenjivo polje proxyja. Odaberite klijenta sa željenom rutom prije stvaranja njegova poziva.

Kada ostatak konfiguracije treba ostati dijeljen, izvedite usmjerenog klijenta iz postojećeg klijenta:

OkHttpClient routed = baseClient.newBuilder()
    .proxy(new Proxy(Proxy.Type.HTTP,
        new InetSocketAddress("203.0.113.10", 8080)))
    .build();

Krajnja je točka samo ilustracija. Javne HTTP krajnje točke s popisa HTTP proxyja mogu popuniti ovu adresu utičnice za dopuštenu rutu javne usluge, pod uvjetom da politika osnovnog klijenta ne daje nikakve proxy vjerodajnice novoj krajnjoj točki. OkHttp dokumentira da newBuilder dijeli resurse pula veza i niti s izvornim klijentom. To ne znači da se utičnica uspostavljena kroz jedan proxy može preimenovati u drugu rutu. Podobnost veze i dalje ovisi o konfiguraciji rute i adrese.

Za ponavljan rad zadržite ograničen skup klijenata s ključem prema politici usmjeravanja koja vam je doista potrebna. Izbjegavajte neograničenu mapu čiji ključevi sadrže svaki privremeni račun ili varijaciju proxyja ikad viđenu.

Dijeljenje resursa utječe i na zaustavljanje. Zatvaranje dijeljene predmemorije ili gašenje dijeljenog dispečera može utjecati na druge izvedene klijente koji rabe te resurse. Dajte vlasništvu nad resursima jasan životni vijek na razini aplikacije umjesto da svaki izvedeni klijent tretirate kao izolirani mrežni stog.

Na kraju, uključite identitet odabranog proxyja u vlastite metapodatke poziva. Globalna varijabla „posljednji odabrani proxy” ne može prepoznati rutu nekoliko istodobnih zahtjeva.

Povezani članci