Compartilhar via


HttpClientOptions Classe

public final class HttpClientOptions
extends ClientOptions

Opções gerais de configuração para HttpClient.

HttpClient as implementações podem não dar suporte a todas as opções de configuração nessa classe.

Resumo do Construtor

Construtor Description
HttpClientOptions()

Cria uma nova instância de HttpClientOptions.

Resumo do método

Modificador e tipo Método e descrição
Configuration getConfiguration()

Obtém o repositório de configuração que o HttpClient usará.

Duration getConnectTimeout()

Obtém o tempo limite de conexão para uma solicitação a ser enviada.

Duration getConnectionIdleTimeout()

Obtém a duração do tempo antes que uma conexão ociosa seja fechada.

Class<> getHttpClientProvider()

Obtém o HttpClientProvider tipo da implementação que deve ser usada para construir uma instância do HttpClient.

Integer getMaximumConnectionPoolSize()

Obtém o tamanho máximo do pool de conexões usado pelo cliente HTTP subjacente.

ProxyOptions getProxyOptions()

Obtém o ProxyOptions que o HttpClient usará.

Duration getReadTimeout()

Obtém a duração do tempo limite de leitura usada ao ler a resposta do servidor.

Duration getResponseTimeout()

Obtém a duração do tempo limite de resposta usada ao aguardar a resposta de um servidor.

Duration getWriteTimeout()

Obtém o tempo limite de gravação para uma solicitação a ser enviada.

HttpClientOptions readTimeout(Duration readTimeout)

Define a duração do tempo limite de leitura usada ao ler a resposta do servidor.

HttpClientOptions responseTimeout(Duration responseTimeout)

Define a duração do tempo limite de resposta usada ao aguardar a resposta de um servidor.

HttpClientOptions setApplicationId(String applicationId)

Define a ID do aplicativo.

HttpClientOptions setConfiguration(Configuration configuration)

Define o repositório de configuração que o HttpClient usará.

HttpClientOptions setConnectTimeout(Duration connectTimeout)

Define o tempo limite de conexão para uma solicitação a ser enviada.

HttpClientOptions setConnectionIdleTimeout(Duration connectionIdleTimeout)

Define a duração do tempo antes de uma conexão ociosa.

HttpClientOptions setHeaders(Iterable<Header> headers)

Define o Header.

HttpClientOptions setHttpClientProvider(Class<? extends HttpClientProvider> httpClientProvider)

Define o tipo da HttpClientProvider implementação que deve ser usada para construir uma instância do HttpClient.

HttpClientOptions setMaximumConnectionPoolSize(Integer maximumConnectionPoolSize)

Define o tamanho máximo do pool de conexões usado pelo cliente HTTP subjacente.

HttpClientOptions setProxyOptions(ProxyOptions proxyOptions)

Define o ProxyOptions que o HttpClient usará.

HttpClientOptions setReadTimeout(Duration readTimeout)

Define a duração do tempo limite de leitura usada ao ler a resposta do servidor.

HttpClientOptions setResponseTimeout(Duration responseTimeout)

Define a duração do tempo limite de resposta usada ao aguardar a resposta de um servidor.

HttpClientOptions setWriteTimeout(Duration writeTimeout)

Define o tempo limite de gravação para uma solicitação a ser enviada.

Métodos herdados de ClientOptions

Métodos herdados de java.lang.Object

Detalhes do construtor

HttpClientOptions

public HttpClientOptions()

Cria uma nova instância de HttpClientOptions.

Detalhes do método

getConfiguration

public Configuration getConfiguration()

Obtém o repositório de configuração que o HttpClient usará.

Returns:

O repositório de configuração a ser usado.

getConnectTimeout

public Duration getConnectTimeout()

Obtém o tempo limite de conexão para uma solicitação a ser enviada.

O tempo limite de conexão padrão é de 10 segundos.

Returns:

O tempo limite de conexão de uma solicitação a ser enviada.

getConnectionIdleTimeout

public Duration getConnectionIdleTimeout()

Obtém a duração do tempo antes que uma conexão ociosa seja fechada.

O tempo limite ocioso de conexão padrão é de 60 segundos.

Returns:

A duração do tempo limite ocioso da conexão.

getHttpClientProvider

public Class getHttpClientProvider()

Obtém o HttpClientProvider tipo da implementação que deve ser usada para construir uma instância do HttpClient.

Returns:

A HttpClientProvider implementação usada para criar uma instância do HttpClient.

getMaximumConnectionPoolSize

public Integer getMaximumConnectionPoolSize()

Obtém o tamanho máximo do pool de conexões usado pelo cliente HTTP subjacente.

Modificar o tamanho máximo do pool de conexões pode ter efeitos no desempenho de um aplicativo. Aumentar o pool de conexões máximo resultará na disponibilidade de mais conexões para um aplicativo, mas pode resultar em mais contenção para recursos de rede. É recomendável executar a análise de desempenho em diferentes tamanhos máximos de pool de conexões para encontrar a configuração certa para um aplicativo.

Esse tamanho máximo do pool de conexões não é uma configuração global, mas uma configuração de nível de instância para cada HttpClient criado usando esse HttpClientOptions.

O tamanho máximo do pool de conexões padrão é determinado pelo cliente HTTP subjacente. Definir o tamanho máximo do pool de conexões como nulo redefine a configuração para usar o padrão determinado pelo cliente HTTP subjacente.

Returns:

O tamanho máximo do pool de conexões.

getProxyOptions

public ProxyOptions getProxyOptions()

Obtém o ProxyOptions que o HttpClient usará.

Returns:

As opções de proxy a serem usadas.

getReadTimeout

public Duration getReadTimeout()

Obtém a duração do tempo limite de leitura usada ao ler a resposta do servidor.

O tempo limite de leitura padrão é de 60 segundos.

Returns:

A duração do tempo limite de leitura.

getResponseTimeout

public Duration getResponseTimeout()

Obtém a duração do tempo limite de resposta usada ao aguardar a resposta de um servidor.

O tempo limite de resposta padrão é de 60 segundos.

Returns:

A duração do tempo limite da resposta.

getWriteTimeout

public Duration getWriteTimeout()

Obtém o tempo limite de gravação para uma solicitação a ser enviada.

O tempo limite de gravação padrão é de 60 segundos.

Returns:

O tempo limite de gravação de uma solicitação a ser enviada.

readTimeout

public HttpClientOptions readTimeout(Duration readTimeout)

Define a duração do tempo limite de leitura usada ao ler a resposta do servidor.

O tempo limite de leitura começa quando a primeira leitura de resposta é disparada após o recebimento da resposta do servidor. Esse tempo limite é disparado periodicamente, mas não disparará sua operação se outra operação de leitura tiver sido concluída entre quando o tempo limite for disparado e concluído.

Se readTimeout for nulo PROPERTY_AZURE_REQUEST_READ_TIMEOUT ou um tempo limite de 60 segundos será usado, se for Duration menor ou igual a zero, nenhum período de tempo limite será aplicado à leitura da resposta. Ao aplicar o tempo limite maior de um milissegundo e o valor de readTimeout será usado.

O tempo limite de leitura padrão é de 60 segundos.

Parameters:

readTimeout - Duração do tempo limite de leitura.

Returns:

O objeto HttpClientOptions atualizado.

responseTimeout

public HttpClientOptions responseTimeout(Duration responseTimeout)

Define a duração do tempo limite de resposta usada ao aguardar a resposta de um servidor.

O tempo limite de resposta começa quando a gravação da solicitação é concluída e termina depois que a primeira leitura de resposta é disparada quando a resposta do servidor é recebida.

Se responseTimeout for nulo PROPERTY_AZURE_REQUEST_RESPONSE_TIMEOUT ou um tempo limite de 60 segundos será usado, se for Duration menor ou igual a zero, nenhum tempo limite será aplicado à resposta. Ao aplicar o tempo limite, o maior de um milissegundo e o valor de responseTimeout serão usados.

O tempo limite de resposta padrão é de 60 segundos.

Parameters:

responseTimeout - Duração do tempo limite da resposta.

Returns:

O objeto HttpClientOptions atualizado.

setApplicationId

public HttpClientOptions setApplicationId(String applicationId)

Define a ID do aplicativo.

O applicationId é usado para configurar UserAgentPolicy para fins de telemetria/monitoramento.

Confira Azure Core: política de telemetria para obter informações adicionais.

Exemplos de código

Criar ClientOptions com a ID do aplicativo 'myApplicationId'

ClientOptions clientOptions = new ClientOptions()
     .setApplicationId("myApplicationId");

Overrides:

HttpClientOptions.setApplicationId(String applicationId)

Parameters:

applicationId

setConfiguration

public HttpClientOptions setConfiguration(Configuration configuration)

Define o repositório de configuração que o HttpClient usará.

Parameters:

configuration - O repositório de configuração a ser usado.

Returns:

O objeto HttpClientOptions atualizado.

setConnectTimeout

public HttpClientOptions setConnectTimeout(Duration connectTimeout)

Define o tempo limite de conexão para uma solicitação a ser enviada.

O tempo limite da conexão começa quando a solicitação tenta se conectar ao host remoto e termina quando a conexão é resolvida.

Se connectTimeout for nulo PROPERTY_AZURE_REQUEST_CONNECT_TIMEOUT ou um tempo limite de 10 segundos será usado, se for Duration menor ou igual a zero, nenhum tempo limite será aplicado. Ao aplicar o tempo limite, o maior de um milissegundo e o valor de connectTimeout serão usados.

O tempo limite de conexão padrão é de 10 segundos.

Parameters:

connectTimeout - Duração do tempo limite de conexão.

Returns:

O objeto HttpClientOptions atualizado.

setConnectionIdleTimeout

public HttpClientOptions setConnectionIdleTimeout(Duration connectionIdleTimeout)

Define a duração do tempo antes de uma conexão ociosa.

O tempo limite de ociosidade da conexão começa depois que a conexão conclui sua última solicitação de rede. Sempre que a conexão for usada, o tempo limite ocioso será redefinido.

Se connectionIdleTimeout for nulo, um tempo limite de 60 segundos será usado, se for Duration menor ou igual a zero, nenhum período de tempo limite será aplicado. Ao aplicar o tempo limite, o maior de um milissegundo e o valor de connectionIdleTimeout serão usados.

O tempo limite ocioso da conexão padrão é de 60 segundos.

Parameters:

connectionIdleTimeout - A duração do tempo limite de ociosidade da conexão.

Returns:

O objeto HttpClientOptions atualizado.

setHeaders

public HttpClientOptions setHeaders(Iterable

headers)

Define o Header.

Os cabeçalhos passados são aplicados a cada solicitação enviada com o cliente.

Isso substitui todos os cabeçalhos definidos anteriormente.

Exemplos de código

Criar ClientOptions com o cabeçalho 'myCustomHeader':'myStaticValue'

ClientOptions clientOptions = new ClientOptions()
     .setHeaders(Collections.singletonList(new Header("myCustomHeader", "myStaticValue")));

Overrides:

HttpClientOptions.setHeaders(Iterable<Header> headers)

Parameters:

headers

setHttpClientProvider

public HttpClientOptions setHttpClientProvider(Class httpClientProvider)

Define o tipo da HttpClientProvider implementação que deve ser usada para construir uma instância do HttpClient. Se o valor não estiver definido ou for uma cadeia de caracteres vazia, o primeiro HttpClientProvider resolvido pelo ServiceLoader será usado para criar uma instância do HttpClient. Se o valor for definido e não corresponder a nenhum HttpClientProvider resolvido pelo ServiceLoader , um IllegalStateException será gerado ao tentar criar uma instância do HttpClient.

Parameters:

httpClientProvider - A HttpClientProvider implementação usada para criar uma instância do HttpClient.

Returns:

O objeto HttpClientOptions atualizado.

setMaximumConnectionPoolSize

public HttpClientOptions setMaximumConnectionPoolSize(Integer maximumConnectionPoolSize)

Define o tamanho máximo do pool de conexões usado pelo cliente HTTP subjacente.

Modificar o tamanho máximo do pool de conexões pode ter efeitos no desempenho de um aplicativo. Aumentar o pool de conexões máximo resultará em mais conexões disponíveis para um aplicativo, mas pode resultar em mais contenção para recursos de rede. É recomendável executar a análise de desempenho em diferentes tamanhos máximos de pool de conexões para encontrar a configuração certa para um aplicativo.

Esse tamanho máximo do pool de conexões não é uma configuração global, mas uma configuração de nível de instância para cada HttpClient criada usando este HttpClientOptions.

O tamanho máximo do pool de conexões padrão é determinado pelo cliente HTTP subjacente. Definir o tamanho máximo do pool de conexões como nulo redefine a configuração para usar o padrão determinado pelo cliente HTTP subjacente.

Parameters:

maximumConnectionPoolSize - O tamanho máximo do pool de conexões.

Returns:

O objeto HttpClientOptions atualizado.

setProxyOptions

public HttpClientOptions setProxyOptions(ProxyOptions proxyOptions)

Define o ProxyOptions que o HttpClient usará.

Parameters:

proxyOptions - As opções de proxy a serem usadas.

Returns:

O objeto HttpClientOptions atualizado.

setReadTimeout

public HttpClientOptions setReadTimeout(Duration readTimeout)

Define a duração do tempo limite de leitura usada ao ler a resposta do servidor.

O tempo limite de leitura começa quando a primeira leitura de resposta é disparada depois que a resposta do servidor é recebida. Esse tempo limite é disparado periodicamente, mas não disparará sua operação se outra operação de leitura tiver sido concluída entre quando o tempo limite for disparado e concluído.

Se readTimeout for nulo PROPERTY_AZURE_REQUEST_READ_TIMEOUT ou um tempo limite de 60 segundos será usado, se for Duration menor ou igual a zero, nenhum período de tempo limite será aplicado à leitura da resposta. Ao aplicar o tempo limite, o maior de um milissegundo e o valor de readTimeout serão usados.

O tempo limite de leitura padrão é de 60 segundos.

Parameters:

readTimeout - Duração do tempo limite de leitura.

Returns:

O objeto HttpClientOptions atualizado.

setResponseTimeout

public HttpClientOptions setResponseTimeout(Duration responseTimeout)

Define a duração do tempo limite de resposta usada ao aguardar a resposta de um servidor.

O tempo limite de resposta começa quando a gravação da solicitação é concluída e termina depois que a primeira leitura de resposta é disparada quando a resposta do servidor é recebida.

Se responseTimeout for nulo PROPERTY_AZURE_REQUEST_RESPONSE_TIMEOUT ou um tempo limite de 60 segundos será usado, se for Duration menor ou igual a zero, nenhum tempo limite será aplicado à resposta. Ao aplicar o tempo limite, o maior de um milissegundo e o valor de responseTimeout serão usados.

O tempo limite de resposta padrão é de 60 segundos.

Parameters:

responseTimeout - Duração do tempo limite da resposta.

Returns:

O objeto HttpClientOptions atualizado.

setWriteTimeout

public HttpClientOptions setWriteTimeout(Duration writeTimeout)

Define o tempo limite de gravação para uma solicitação a ser enviada.

O tempo limite de gravação não se aplica a toda a solicitação, mas a cada emissão enviada pela transmissão. Por exemplo, um corpo da solicitação que emite buffers 108KB disparará 10 operações de gravação, o buffer de saída será verificado periodicamente para determinar se ele ainda está drenando.

Se writeTimeout for nulo PROPERTY_AZURE_REQUEST_WRITE_TIMEOUT ou um tempo limite de 60 segundos será usado, se for Duration menor ou igual a zero, nenhum tempo limite de gravação será aplicado. Ao aplicar o tempo limite, o maior de um milissegundo e o valor de writeTimeout serão usados.

O tempo limite de gravação padrão é de 60 segundos.

Parameters:

writeTimeout - Duração do tempo limite da operação de gravação.

Returns:

O objeto HttpClientOptions atualizado.

Aplica-se a