Proxy.HttpConnectCallback

abstract class Proxy.HttpConnectCallback


Controla los túneles establecidos a través de HTTP CONNECT. Se invocará todos los métodos en el objeto Executor especificado en createHttpProxy.

Los métodos dentro de esta clase se invocan solo cuando se cumplen las siguientes condiciones:

- 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 documentación de createHttpProxy para comprender cómo CronetEngine decide si se debe establecer un túnel a través de un proxy HTTP.

Resumen

Tipos anidados

Acciones que se pueden realizar en respuesta a la llamada a onResponseReceived.

Representa una solicitud HTTP CONNECT que se envía al servidor proxy.

Constantes

const Int

Cierra la conexión de túnel, lo que impide que se use para enviar solicitudes HTTP.

const Int

Continúa estableciendo un túnel.

Constructores públicos

Funciones públicas

abstract Unit

Se llama antes de enviar una solicitud HTTP CONNECT al proxy para establecer un túnel.

abstract Int

Se llama después de recibir una respuesta a la solicitud HTTP CONNECT enviada al proxy para establecer un túnel.

Constantes

RESPONSE_ACTION_CLOSE

const val RESPONSE_ACTION_CLOSE = 0: Int

Cierra la conexión de túnel, lo que impide que se use para enviar solicitudes HTTP.

Cuando se cierra una conexión de túnel, CronetEngine la interpretará como una falla en el uso del Proxy asociado. Luego, CronetEngine probará el siguiente Proxy en la lista que se pasó a ProxyOptions (consulta la documentación de esa clase para obtener más información).

RESPONSE_ACTION_PROCEED

const val RESPONSE_ACTION_PROCEED = 1: Int

Continúa estableciendo un túnel.

Esto no garantiza que el túnel se establecerá y se usará correctamente para enviar solicitudes HTTP: CronetEngine realizará verificaciones adicionales antes de eso. Según el resultado, CronetEngine podría decidir cerrar la conexión de túnel. Si CronetEngine cierra la conexión de túnel, se considerará como una falla en el uso del Proxy asociado. Luego, CronetEngine probará el siguiente Proxy en la lista que se pasó a ProxyOptions (consulta la documentación de esa clase para obtener más información).

Constructores públicos

HttpConnectCallback

HttpConnectCallback()

Funciones públicas

onBeforeRequest

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

Se llama antes de enviar una solicitud HTTP CONNECT al proxy para establecer un túnel.

Permite manipular o cancelar dicha solicitud antes de enviarla al proxy. Consulta Request para obtener información sobre cómo se puede manipular o cancelar una solicitud.

Parámetros
request: Proxy.HttpConnectCallback.Request

Representa la solicitud HTTP CONNECT que se enviará al proxy.

onResponseReceived

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

Se llama después de recibir una respuesta a la solicitud HTTP CONNECT enviada al proxy para establecer un túnel. Permite leer encabezados y códigos de estado.

Cuando envíe solicitudes HTTP a un destino con un esquema de URI https, CronetEngine nunca usará un proxy cuyo callback onResponseReceived no se haya invocado.

No se llamará a esto para las solicitudes HTTP que pasarán por el túnel una vez que se establezca.

Si este método arroja cualquier java.lang.Throwable, el destino del túnel será como si se hubiera mostrado RESPONSE_ACTION_CLOSE (no se detectará java.lang.Throwable).

Parámetros
responseHeaders: (Mutable)List<Pair<String!, String!>!>

Es la lista de encabezados que contiene la respuesta a la solicitud HTTP CONNECT.

statusCode: Int

Es el código de estado HTTP que contiene la respuesta a la solicitud HTTP CONNECT.

Muestra
Int

Un valor OnResponseReceivedAction que representa lo que se debe hacer con esta conexión de túnel. Consulta la documentación de OnResponseReceivedAction.