Proxy.HttpConnectCallback

public abstract class Proxy.HttpConnectCallback


Controla túneis estabelecidos via HTTP CONNECT. Todos os métodos serão invocados no executor especificado em createHttpProxy.

Os métodos nessa classe são invocados somente quando as duas condições a seguir são verdadeiras:

- HttpEngine must establish a connection to the destination of an HTTP request
- The destination of the HTTP request has an https URI scheme
Consulte a documentação de createHttpProxy para entender como o CronetEngine decide se deve estabelecer um túnel por um proxy HTTP.

Resumo

Tipos aninhados

Ações que podem ser realizadas em resposta a onResponseReceived sendo chamado.

public abstract class Proxy.HttpConnectCallback.Request implements AutoCloseable

Representa uma solicitação HTTP CONNECT sendo enviada ao servidor proxy.

Constantes

static final int

Fecha a conexão de túnel, impedindo que ela seja usada para enviar solicitações HTTP.

static final int

Continua estabelecendo um túnel.

Construtores públicos

Métodos públicos

abstract void

Chamado antes de enviar uma solicitação HTTP CONNECT ao proxy para estabelecer um túnel.

abstract int

Chamado após receber uma resposta à solicitação HTTP CONNECT enviada ao proxy para estabelecer um túnel.

Constantes

RESPONSE_ACTION_CLOSE

public static final int RESPONSE_ACTION_CLOSE = 0

Fecha a conexão de túnel, impedindo que ela seja usada para enviar solicitações HTTP.

Quando uma conexão de túnel é fechada, o CronetEngine a interpreta como uma falha ao usar o Proxy associado. Em seguida, o CronetEngine tenta o próximo Proxy na lista transmitida para ProxyOptions. Consulte a documentação dessa classe para mais informações.

RESPONSE_ACTION_PROCEED

public static final int RESPONSE_ACTION_PROCEED = 1

Continua estabelecendo um túnel.

Isso não garante que o túnel será estabelecido e usado para enviar solicitações HTTP: o CronetEngine vai realizar outras verificações antes disso. Dependendo do resultado, o CronetEngine ainda poderá decidir fechar a conexão de túnel. Se a conexão de túnel for fechada pelo CronetEngine, ela será considerada uma falha ao usar o Proxy associado. Em seguida, o CronetEngine tenta o próximo Proxy na lista transmitida para ProxyOptions. Consulte a documentação dessa classe para mais informações.

Construtores públicos

HttpConnectCallback

public HttpConnectCallback()

Métodos públicos

onBeforeRequest

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

Chamado antes de enviar uma solicitação HTTP CONNECT ao proxy para estabelecer um túnel.

Permite manipular ou cancelar a solicitação antes de enviá-la ao proxy. Consulte Request para saber como uma solicitação pode ser manipulada/cancelada.

Parâmetros
@NonNull Proxy.HttpConnectCallback.Request request

Representa a solicitação HTTP CONNECT que será enviada ao proxy.

onResponseReceived

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

Chamado após receber uma resposta à solicitação HTTP CONNECT enviada ao proxy para estabelecer um túnel. Permite ler cabeçalhos e códigos de status.

Ao enviar solicitações HTTP para um destino com um esquema de URI HTTPS, o CronetEngine nunca usará um proxy cujo callback onResponseReceived não tenha sido invocado.

Isso não será chamado para solicitações HTTP que passarão pelo túnel depois que ele for estabelecido.

Se esse método gerar qualquer java.lang.Throwable, o destino do túnel será como se RESPONSE_ACTION_CLOSE tivesse sido retornado (o java.lang.Throwable não será detectado).

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

A lista de cabeçalhos contidos na resposta à solicitação HTTP CONNECT.

int statusCode

O código de status HTTP contido na resposta à solicitação HTTP CONNECT.

Retorna
int

Um valor OnResponseReceivedAction que representa o que deve ser feito com essa conexão de túnel. Consulte a documentação de OnResponseReceivedAction.