Proxy.HttpConnectCallback

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 dessa 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 à chamada de onResponseReceived.

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

Constantes

const Int

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

const Int

Continua estabelecendo um túnel.

Construtores públicos

Funções públicas

abstract Unit

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

const val RESPONSE_ACTION_CLOSE = 0: Int

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 no uso do 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

const val RESPONSE_ACTION_PROCEED = 1: Int

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 no uso do 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

HttpConnectCallback()

Funções públicas

onBeforeRequest

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

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

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

onResponseReceived

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

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 túnel será tratado como se RESPONSE_ACTION_CLOSE tivesse sido retornado (o java.lang.Throwable não será detectado).

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

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

statusCode: Int

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.