OkHttp захтев нема опште промењиво поље проксија. Изаберите клијента са жељеном рутом пре стварања његовог позива.

Када остатак конфигурације треба да остане дељен, изведите усмереног клијента из постојећег клијента:

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

Крајња тачка је само илустрација. Јавне HTTP крајње тачке са листе HTTP проксија могу попунити ову адресу сокета за дозвољену руту јавне услуге, под условом да политика основног клијента не даје никакве акредитиве проксија новој крајњој тачки. OkHttp документује да newBuilder дели ресурсе пула веза и нити са изворним клијентом. То не значи да се сокет успостављен кроз један прокси може преименовати у другу руту. Подобност везе и даље зависи од конфигурације руте и адресе.

За понављани рад задржите ограничен скуп клијената са кључем према политици усмеравања која вам је заиста потребна. Избегавајте неограничену мапу чији кључеви садрже сваки привремени налог или варијацију проксија икада виђену.

Дељење ресурса утиче и на заустављање. Затварање дељеног кеша или гашење дељеног диспечера може утицати на друге изведене клијенте који користе те ресурсе. Дајте власништву над ресурсима јасан животни век на нивоу апликације уместо да сваки изведени клијент третирате као изоловани мрежни стек.

На крају, укључите идентитет изабраног проксија у сопствене метаподатке позива. Глобална променљива „последњи изабрани прокси” не може препознати руту неколико истовремених захтева.

Повезани чланци