[IDEA] HTTP Listener: configurable size limit for the response headers it sends back
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- Mezza giornata
- Idoneità per principianti
- 45/100
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Java
- Stelle
- 227
- Fork
- 81
- Merge medio
- 2g 16h
- PR unite (30g)
- 12
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di OpenIntegrationEngine/engine
-
Outdated GitHub workflow action versionsForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
OpenIntegrationEngine/engine#485 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
OpenIntegrationEngine/engine#478 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
OpenIntegrationEngine/engine#355 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
OpenIntegrationEngine/engine#347 ·
I maintainer di solito rispondono entro 1 giorno
-
Fix call-home in test runAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
OpenIntegrationEngine/engine#313 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di OpenIntegrationEngine/engine
Issue simili
-
account bug communication lecture
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Consumer progress rows interleave topics with equal queue IDsForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
apache/rocketmq-dashboard#7250 ·
I maintainer di solito rispondono entro 3 giorni
-
Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
ignatov/intellij-erlang#1093 ·
-
[Bug] QoS count command ignores the times argument after cdForse già presa @CCCLL l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
apache/dubbo#16530 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno