Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

[IDEA] HTTP Listener: configurable size limit for the response headers it sends back

未關閉
#479 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 2 天內回覆

還沒有人認領這個 Issue。

評估

難度
3/5
預估耗時
半天
新手友好度
45/100
Issue 類型
功能
描述清晰度
基本清楚
活躍度
活躍
技術堆疊
java
領域
api

研究方向

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.

由索引模型根據 Issue 內容生成。

描述

enhancement

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.

主要語言
Java
星號
227
分支
81
平均合併
3 天 6 小時
30 天內合併 PR
15

環境準備

  • 提供 Dockerfile 或 Docker Compose 檔案
  • 沒有 Pull Request 範本
  • 閱讀貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

OpenIntegrationEngine/engine 的其他 Issue

查看 OpenIntegrationEngine/engine 的全部 Issue

相似的 Issue

更多 Java Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。