Proxy.HttpConnectCallback

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.

Rappresenta una richiesta HTTP CONNECT inviata al server proxy.

Costanti

const Int

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

const Int

Continua a stabilire un tunnel.

Costruttori pubblici

Funzioni pubbliche

abstract Unit

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

abstract Int

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

Costanti

RESPONSE_ACTION_CLOSE

const val RESPONSE_ACTION_CLOSE = 0: Int

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 ulteriori informazioni, consulta la documentazione della classe).

RESPONSE_ACTION_PROCEED

const val RESPONSE_ACTION_PROCEED = 1: Int

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 farlo. 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 ulteriori informazioni, consulta la documentazione della classe)

Costruttori pubblici

HttpConnectCallback

HttpConnectCallback()

Funzioni pubbliche

onBeforeRequest

abstract fun onBeforeRequest(request: Proxy.HttpConnectCallback.Request): Unit

Viene chiamata 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
request: Proxy.HttpConnectCallback.Request

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

onResponseReceived

@Proxy.HttpConnectCallback.OnResponseReceivedAction
abstract fun onResponseReceived(
    responseHeaders: (Mutable)List<Pair<String!, String!>!>,
    statusCode: Int
): Int

Viene chiamata 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.

Questa funzione non verrà chiamata per le richieste HTTP che passeranno attraverso il tunnel una volta stabilito.

Se questo metodo genera un java.lang.Throwable, il tunnel verrà trattato come se fosse stato restituito RESPONSE_ACTION_CLOSE (il java.lang.Throwable non verrà intercettato).

Parametri
responseHeaders: (Mutable)List<Pair<String!, String!>!>

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

statusCode: Int

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.