Proxy.HttpConnectCallback

public abstract class Proxy.HttpConnectCallback


Controlla i tunnel stabiliti tramite HTTP CONNECT. Tutti i metodi verranno richiamati sull'Executor specificato in createHttpProxy.

I metodi all'interno di questa classe vengono richiamati solo quando sono vere entrambe le seguenti condizioni:

- HttpEngine must establish a connection to the destination of an HTTP request
- The destination of the HTTP request has an https URI scheme
Consulta la documentazione di createHttpProxy per capire come CronetEngine decide se stabilire un tunnel tramite un proxy HTTP.

Riepilogo

Tipi nidificati

Azioni che possono essere eseguite in risposta alla chiamata di onResponseReceived.

public abstract class Proxy.HttpConnectCallback.Request implements AutoCloseable

Rappresenta una richiesta HTTP CONNECT inviata al server proxy.

Costanti

static final int

Chiude la connessione del tunnel, impedendone l'utilizzo per l'invio di richieste HTTP.

static final int

Continua a stabilire un tunnel.

Costruttori pubblici

Metodi pubblici

abstract void

Viene chiamato prima di inviare una richiesta HTTP CONNECT al proxy per stabilire un tunnel.

abstract int

Viene chiamato dopo aver ricevuto una risposta alla richiesta HTTP CONNECT inviata al proxy per stabilire un tunnel.

Costanti

RESPONSE_ACTION_CLOSE

public static final int RESPONSE_ACTION_CLOSE = 0

Chiude la connessione del tunnel, impedendone l'utilizzo per l'invio di richieste HTTP.

Quando una connessione del tunnel viene chiusa, CronetEngine la interpreta come un errore nell'utilizzo del Proxy associato. CronetEngine proverà quindi il Proxy successivo nell'elenco passato a ProxyOptions (per maggiori informazioni, consulta la documentazione della classe).

RESPONSE_ACTION_PROCEED

public static final int RESPONSE_ACTION_PROCEED = 1

Continua a stabilire un tunnel.

Ciò non garantisce che il tunnel venga stabilito e utilizzato correttamente per l'invio di richieste HTTP: CronetEngine eseguirà ulteriori controlli prima di ciò. A seconda del risultato, CronetEngine potrebbe comunque decidere di chiudere la connessione del tunnel. Se la connessione del tunnel viene chiusa da CronetEngine, verrà considerata come un errore nell'utilizzo del Proxy associato. CronetEngine proverà quindi il Proxy successivo nell'elenco passato a ProxyOptions (per maggiori informazioni, consulta la documentazione della classe)

Costruttori pubblici

HttpConnectCallback

public HttpConnectCallback()

Metodi pubblici

onBeforeRequest

public abstract void onBeforeRequest(@NonNull Proxy.HttpConnectCallback.Request request)

Viene chiamato prima di inviare una richiesta HTTP CONNECT al proxy per stabilire un tunnel.

Consente di manipolare o annullare la richiesta prima di inviarla al proxy. Consulta Request per scoprire come manipolare/annullare una richiesta.

Parametri
@NonNull Proxy.HttpConnectCallback.Request request

Rappresenta la richiesta HTTP CONNECT che verrà inviata al proxy.

onResponseReceived

@Proxy.HttpConnectCallback.OnResponseReceivedAction
public abstract int onResponseReceived(
    @NonNull List<Pair<StringString>> responseHeaders,
    int statusCode
)

Viene chiamato dopo aver ricevuto una risposta alla richiesta HTTP CONNECT inviata al proxy per stabilire un tunnel. Consente di leggere le intestazioni e il codice di stato.

Quando invia richieste HTTP a una destinazione con uno schema URI https, CronetEngine non utilizzerà mai un proxy il cui callback onResponseReceived non è stato richiamato.

Questo metodo non verrà chiamato per le richieste HTTP che passeranno attraverso il tunnel una volta stabilito.

Se questo metodo genera un java.lang.Throwable, il destino del tunnel sarà come se fosse stato restituito RESPONSE_ACTION_CLOSE (il java.lang.Throwable non verrà rilevato).

Parametri
@NonNull List<Pair<StringString>> responseHeaders

L'elenco delle intestazioni contenute nella risposta alla richiesta HTTP CONNECT.

int statusCode

Il codice di stato HTTP contenuto nella risposta alla richiesta HTTP CONNECT.

Resi
int

Un valore OnResponseReceivedAction che rappresenta l'azione da eseguire con questa connessione del tunnel. Consulta la documentazione di OnResponseReceivedAction.