Proxy.HttpConnectCallback

public 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 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.

public abstract class Proxy.HttpConnectCallback.Request implements AutoCloseable

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

Constantes

static final int

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

static final int

Continúa estableciendo un túnel.

Constructores públicos

Métodos públicos

abstract void

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

public static final int RESPONSE_ACTION_CLOSE = 0

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

public static final int RESPONSE_ACTION_PROCEED = 1

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

public HttpConnectCallback()

Métodos públicos

onBeforeRequest

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

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
@NonNull Proxy.HttpConnectCallback.Request request

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

onResponseReceived

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

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á para las solicitudes HTTP que pasarán por el túnel una vez que se establezca.

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

Parámetros
@NonNull List<Pair<StringString>> responseHeaders

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

int statusCode

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

Muestra
int

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