googleapis / googleapis/google-http-java-client
HttpClient RequestConfig cannot be set
- 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
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