Proxy

public final class Proxy


Representa um proxy que pode ser usado pelo CronetEngine.

A forma como as solicitações HTTP são enviadas por proxies depende de vários fatores. Por exemplo: o tipo de proxy usado, a versão HTTP usada e se a solicitação está sendo enviada para um destino com um esquema de URI http ou https. Além disso, se um túnel pelo proxy é estabelecido ou não também depende desses fatores.

Resumo

Tipos aninhados

public abstract class Proxy.HttpConnectCallback

Controla túneis estabelecidos via HTTP CONNECT.

Ações que podem ser realizadas em resposta à chamada de onResponseReceived.

public abstract class Proxy.HttpConnectCallback.Request implements AutoCloseable

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

@Retention(value = RetentionPolicy.SOURCE)
@IntDef(value = )
public annotation Proxy.Scheme

Esquemas compatíveis ao definir um proxy.

Constantes

static final int

Estabelece uma conexão de texto simples com o próprio proxy.

static final int

Estabelece uma conexão segura com o próprio proxy.

Métodos públicos

static @NonNull Proxy
createHttpProxy(
    @Proxy.Scheme int scheme,
    @NonNull String host,
    @IntRange(from = 0, to = 65535) int port,
    @NonNull Executor executor,
    @NonNull Proxy.HttpConnectCallback callback
)

Cria um proxy HTTP.

Constantes

SCHEME_HTTP

public static final int SCHEME_HTTP = 0

Estabelece uma conexão de texto simples com o próprio proxy.

SCHEME_HTTPS

public static final int SCHEME_HTTPS = 1

Estabelece uma conexão segura com o próprio proxy.

Métodos públicos

createHttpProxy

public static @NonNull Proxy createHttpProxy(
    @Proxy.Scheme int scheme,
    @NonNull String host,
    @IntRange(from = 0, to = 65535) int port,
    @NonNull Executor executor,
    @NonNull Proxy.HttpConnectCallback callback
)

Cria um proxy HTTP.

Ao enviar solicitações HTTP por um proxy HTTP, se o callback é chamado ou não depende do esquema de URI do destino:

  • Para destinos com um esquema de URI https, o CronetEngine estabelece um túnel pelo proxy. O túnel é estabelecido por uma solicitação HTTP CONNECT. Nesse caso, callback será chamado para controlar a solicitação HTTP CONNECT usada para estabelecer o túnel.
  • Para destinos com um esquema de URI http, o CronetEngine envia uma solicitação HTTP, contendo todo o URI do destino, para o proxy. Nesse caso, callback não será chamado.
Parâmetros
@Proxy.Scheme int scheme

Scheme que, junto com host e port, identifica esse proxy.

@NonNull String host

Host não vazio que, junto com scheme e port, identifica esse proxy.

@IntRange(from = 0, to = 65535) int port

Porta que, junto com scheme e host, identifica esse proxy. O valor precisa estar entre [0, 65535].

@NonNull Executor executor

Executor em que callback será invocado.

@NonNull Proxy.HttpConnectCallback callback

Callback que permite interagir com a solicitação HTTP CONNECT e a resposta dela, que o CronetEngine envia para estabelecer túneis pelo proxy.