googleapis / googleapis/google-http-java-client

HttpClient RequestConfig cannot be set

Aberta
#1,107 3 comentários 0 reações 0 responsáveis Ver no GitHub
type: feature request
Linguagem predominante
Java
Estrelas
1.4k
Forks
473
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

AWS ALB sticky sessions use a cookie format that is not compatible with the default Apache HttpClient cookie specification.

The remedy for this is to provide a RequestConfig with CookieSpec set to CookieSpecs.STANDARD. But, there appears to be no way for such a RequestConfig to be actually used in this library.

Currently, I use the following mechanism attempting to provide a RequestConfig:

```
var builder = ApacheHttpTransport
.newDefaultHttpClientBuilder()
.setDefaultRequestConfig(RequestConfig.custom().setCookieSpec(CookieSpecs.STANDARD).build());
HTTP_TRANSPORT = new ApacheHttpTransport(builder.build());
...
RequestFactoryPlain = HTTP_TRANSPORT.createRequestFactory();
...
HttpRequest request = RequestFactoryPlain.buildRequest(method, url, content);
```

This RequestConfig is however not used, as the ApacheHttpRequest constructor creates a custom request configuration for every request, preventing the HttpClient default request config from being used.

Is there a different mechanism that would allow me to provide a baseline RequestConfig? If not, can one be added - potentially by using the provided HttpClient RequestConfig as a baseline instead of ignoring it and overwriting the values in ApacheHttpRequest ctor?

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece pelo construtor de ApacheHttpRequest e rastreie como a RequestConfig de cada requisição é criada; em seguida, compare isso com a configuração padrão definida no builder de HttpClient. O trabalho estará concluído quando uma RequestConfig de base fornecida por meio do builder puder influenciar as requisições, incluindo a configuração CookieSpecs.STANDARD descrita na issue.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
java
Domínio
networking
Tipo de issue
Funcionalidade
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
48/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.