Ikkonfigura l-proxy tal-ibbordjar fuq OkHttp, imbagħad agħti dan l-istess klijent lil Retrofit:

import java.net.InetSocketAddress;
import java.net.Proxy;
import okhttp3.OkHttpClient;
import retrofit2.Retrofit;

Proxy proxy = new Proxy(
    Proxy.Type.HTTP,
    new InetSocketAddress("proxy.example", 8080));

OkHttpClient http = new OkHttpClient.Builder()
    .proxy(proxy)
    .build();

Retrofit retrofit = new Retrofit.Builder()
    .baseUrl("https://api.example/")
    .client(http)
    .build();

Dan il-framment jibni s-saff tat-trasport u l-istanza Retrofit. Qabel build żid ma’ dan il-builder il-fabbriki tal-konvertituri u tal-adattaturi tas-sejħiet li teħtieġ l-applikazzjoni, imbagħad oħloq l-interface tas-servizz minn din l-istanza.

Żomm baseUrl indirizzat lejn is-servizz API reali. Jekk tqiegħed hemm l-URL tal-proxy, tbiddel id-destinazzjoni HTTP; dan ma jikkonfigurax in-negozjati mal-proxy. L-URL bażi jżomm ukoll il-ħtieġa ta’ Retrofit għal slash finali. Test permess ta’ API pubblika mingħajr awtentikazzjoni tal-proxy jista’ jieħu indirizz HTTP mil-lista ta’ proxies HTTP għall-objett Proxy separat.

Proxy OkHttp espliċitu għandu preċedenza fuq il-ProxySelector tiegħu. Użah meta l-klijent għandu jkollu intermedjarju fiss. L-applikazzjonijiet li jeħtieġu routing dipendenti mid-destinazzjoni għandhom jiddisinjaw dik il-politika permezz tas-selettur appoġġjat.

Jekk l-interface tas-servizz inħoloq diġà minn istanza Retrofit oħra, il-bini ta’ din l-istanza l-ġdida ma jċaqlaqx it-talbiet tal-interface l-qadima. Żomm il-klijent ikkonfigurat, l-istanza Retrofit u l-objett tas-servizz fl-istess triq tal-bini.

Għal proxy b’awtentikazzjoni, OkHttp jesponi l-proxyAuthenticator separat mill-awtentikatur tad-destinazzjoni tiegħu. Ikkonfigurah fuq il-builder ta’ OkHttp meta jkun meħtieġ, imbagħad għaddi l-klijent lest lil Retrofit. Għal proxy b’awtentikazzjoni Basic, uża ġestjoni limitata tal-ġbid mill-ġdid tal-proxyAuthenticator.

Artikli relatati