[IDEA] HTTP Listener: configurable size limit for the response headers it sends back
Mantenedores costumam responder em até 2 dias
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- Meio dia
- Facilidade para iniciantes
- 45/100
Direção de pesquisa
Start with DefaultHttpConfiguration.createHttpConfig, the seam added by #393, and check where the Request Header Size setting is read in the HTTP Listener's settings. The response side is Jetty 9.4.57's HttpConfiguration.setResponseHeaderSize, which is never set there. Add a Response Header Size setting resolved through the template replacer at start, rejecting values that are not positive, then check that a 12000-byte response header returns 200 instead of 500.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Is your feature request related to a problem? Please describe.
This is about the HTTP Listener source connector, where the engine is the HTTP server. #393 added Request Header Size to the listener's settings: the cap on the headers a client sends in. The headers the listener sends back in its response are still capped at Jetty's fixed 8192 bytes, because DefaultHttpConfiguration.createHttpConfig never sets responseHeaderSize.
That cap covers the whole response header block, not each header. On main (Jetty 9.4.57), 10 response headers of 500 bytes return 200 and 20 return a 500. The listener's Response Headers table and its response headers variable both feed into it, so an ordinary channel can cross it. The calling client then gets HTTP 500 Server Error with an 81-byte body and no reason. Same handler, one 12000-byte response header: 500 at 8192, 200 at 65536.
The HTTP Sender is out of scope. It is the client side, built on Apache HttpClient, and never goes through this Jetty setting.
Describe the solution you'd like
A Response Header Size setting in the HTTP Listener's settings, beside Request Header Size, handled the same way: resolved through the template replacer at start, and anything that doesn't resolve to a positive number fails the connector.
Rejecting zero and negatives matters more here. On 9.4.57 a responseHeaderSize of 0 or -1 closes the connection without sending a response, where 0 on the request side turns the limit off.
Describe alternatives you've considered
There is no setting to fall back on. Jetty 9.4.57's HttpConfiguration hardcodes 8192 for both header sizes and reads no system property for either, and the engine has no mirth.properties key for them.
Additional context
It goes in createHttpConfig, the seam from #393, so implementations built on it (the NovaMap TLS manager once tls-manager-plugin#44 is done) get it too.
- Linguagem predominante
- Java
- Estrelas
- 227
- Forks
- 81
- Merge médio
- 3d 6h
- PRs com merge (30d)
- 15
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de OpenIntegrationEngine/engine
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
OpenIntegrationEngine/engine#485 ·
Mantenedores costumam responder em até 2 dias
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
OpenIntegrationEngine/engine#478 · 1 comentário ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
OpenIntegrationEngine/engine#355 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
OpenIntegrationEngine/engine#347 ·
Mantenedores costumam responder em até 2 dias
-
Fix call-home in test runAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
OpenIntegrationEngine/engine#313 ·
Mantenedores costumam responder em até 2 dias
Todas as issues de OpenIntegrationEngine/engine
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Mantenedores costumam responder em até 1 dia
-
[Bug] dubbo.protocol.triple.max-message-size is only read from OS environment variablesTalvez já em andamento @CCCLL assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
youngyangyang04/leetcode-master#3026 · 1 comentário ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 64/100
hierynomus/sshj#1070 ·
-
Typo in ExecutorTemplate.cacelAllFuturesTalvez já em andamento @xgx2025 assumiu hoje. Aberta
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 82/100