Repository: javalin/javalin
Pull request #2363 (2025-01-27 07:59:14)

[workflow]: Bump codecov/codecov-action from 5.1.2 to 5.3.1 in the dependencies group
Bumps the dependencies group with 1 update: [codecov/codecov-action](https://github.com/codecov/codecov-action).

Updates `codecov/codecov-action` from 5.1.2 to 5.3.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/codecov/codecov-action/releases">codecov/codecov-action's releases</a>.</em></p>
<blockquote>
<h2>v5.3.1</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: add docs and copy over dist by <a href="https://github.com/thomasrockhu-codecov"><code>@​thomasrockhu-codecov</code></a> in <a href="https://redirect.github.com/codecov/codecov-action/pull/1752">codecov/codecov-action#1752</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/codecov/codecov-action/compare/v5.3.0...v5.3.1">https://github.com/codecov/codecov-action/compare/v5.3.0...v5.3.1</a></p>
<h2>v5.3.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update README with reqs by <a href="https://github.com/thomasrockhu-codecov"><code>@​thomasrockhu-codecov</code></a> in <a href="https://redirect.github.com/codecov/codecov-action/pull/1749">codecov/codecov-action#1749</a></li>
<li>chore(release): wrapper -0.1.0 by <a href="https://github.com/codecov-releaser-app"><code>@​codecov-releaser-app</code></a> in <a href="https://redirect.github.com/codecov/codecov-action/pull/1750">codecov/codecov-action#1750</a></li>
<li>chore(release): 5.3.0 by <a href="https://github.com/thomasrockhu-codecov"><code>@​thomasrockhu-codecov</code></a> in <a href="https://redirect.github.com/codecov/codecov-action/pull/1751">codecov/codecov-action#1751</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/codecov/codecov-action/compare/v5.2.0...v5.3.0">https://github.com/codecov/codecov-action/compare/v5.2.0...v5.3.0</a></p>
<h2>v5.2.0</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: remove erroneous linebreak in readme by <a href="https://github.com/Vampire"><code>@​Vampire</code></a> in <a href="https://redirect.github.com/codecov/codecov-action/pull/1734">codecov/codecov-action#1734</a></li>
<li>feat: add disable-telem feature by <a href="https://github.com/thomasrockhu-codecov"><code>@​thomasrockhu-codecov</code></a> in <a href="https://redirect.github.com/codecov/codecov-action/pull/1739">codecov/codecov-action#1739</a></li>
<li>chore(deps): bump wrapper to 0.0.32 by <a href="https://github.com/thomasrockhu-codecov"><code>@​thomasrockhu-codecov</code></a> in <a href="https://redirect.github.com/codecov/codecov-action/pull/1740">codecov/codecov-action#1740</a></li>
<li>build(deps): bump actions/upload-artifact from 4.4.3 to 4.6.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/codecov/codecov-action/pull/1743">codecov/codecov-action#1743</a></li>
<li>build(deps): bump github/codeql-action from 3.27.9 to 3.28.1 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/codecov/codecov-action/pull/1742">codecov/codecov-action#1742</a></li>
<li>use correct audience when requesting oidc token by <a href="https://github.com/juho9000"><code>@​juho9000</code></a> in <a href="https://redirect.github.com/codecov/codecov-action/pull/1744">codecov/codecov-action#1744</a></li>
<li>Th/add commands by <a href="https://github.com/thomasrockhu-codecov"><code>@​thomasrockhu-codecov</code></a> in <a href="https://redirect.github.com/codecov/codecov-action/pull/1745">codecov/codecov-action#1745</a></li>
<li>Fix typo in README by <a href="https://github.com/tserg"><code>@​tserg</code></a> in <a href="https://redirect.github.com/codecov/codecov-action/pull/1747">codecov/codecov-action#1747</a></li>
<li>chore(release): bump to 5.2.0 by <a href="https://github.com/thomasrockhu-codecov"><code>@​thomasrockhu-codecov</code></a> in <a href="https://redirect.github.com/codecov/codecov-action/pull/1748">codecov/codecov-action#1748</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Vampire"><code>@​Vampire</code></a> made their first contribution in <a href="https://redirect.github.com/codecov/codecov-action/pull/1734">codecov/codecov-action#1734</a></li>
<li><a href="https://github.com/juho9000"><code>@​juho9000</code></a> made their first contribution in <a href="https://redirect.github.com/codecov/codecov-action/pull/1744">codecov/codecov-action#1744</a></li>
<li><a href="https://github.com/tserg"><code>@​tserg</code></a> made their first contribution in <a href="https://redirect.github.com/codecov/codecov-action/pull/1747">codecov/codecov-action#1747</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/codecov/codecov-action/compare/v5.1.2...v5.2.0">https://github.com/codecov/codecov-action/compare/v5.1.2...v5.2.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md">codecov/codecov-action's changelog</a>.</em></p>
<blockquote>
<h2>v5.3.1</h2>
<h3>What's Changed</h3>
<p><strong>Full Changelog</strong>: <a href="https://github.com/codecov/codecov-action/compare/v5.3.0..v5.3.1">https://github.com/codecov/codecov-action/compare/v5.3.0..v5.3.1</a></p>
<h2>v5.3.0</h2>
<h3>What's Changed</h3>
<p><strong>Full Changelog</strong>: <a href="https://github.com/codecov/codecov-action/compare/v5.2.0..v5.3.0">https://github.com/codecov/codecov-action/compare/v5.2.0..v5.3.0</a></p>
<h2>v5.2.0</h2>
<h3>What's Changed</h3>
<ul>
<li>Fix typo in README by <a href="https://github.com/tserg"><code>@​tserg</code></a> in <a href="https://redirect.github.com/codecov/codecov-action/pull/1747">codecov/codecov-action#1747</a></li>
<li>Th/add commands by <a href="https://github.com/thomasrockhu-codecov"><code>@​thomasrockhu-codecov</code></a> in <a href="https://redirect.github.com/codecov/codecov-action/pull/1745">codecov/codecov-action#1745</a></li>
<li>use correct audience when requesting oidc token by <a href="https://github.com/juho9000"><code>@​juho9000</code></a> in <a href="https://redirect.github.com/codecov/codecov-action/pull/1744">codecov/codecov-action#1744</a></li>
<li>build(deps): bump github/codeql-action from 3.27.9 to 3.28.1 by <code>@​app/dependabot</code> in <a href="https://redirect.github.com/codecov/codecov-action/pull/1742">codecov/codecov-action#1742</a></li>
<li>build(deps): bump actions/upload-artifact from 4.4.3 to 4.6.0 by <code>@​app/dependabot</code> in <a href="https://redirect.github.com/codecov/codecov-action/pull/1743">codecov/codecov-action#1743</a></li>
<li>chore(deps): bump wrapper to 0.0.32 by <a href="https://github.com/thomasrockhu-codecov"><code>@​thomasrockhu-codecov</code></a> in <a href="https://redirect.github.com/codecov/codecov-action/pull/1740">codecov/codecov-action#1740</a></li>
<li>feat: add disable-telem feature by <a href="https://github.com/thomasrockhu-codecov"><code>@​thomasrockhu-codecov</code></a> in <a href="https://redirect.github.com/codecov/codecov-action/pull/1739">codecov/codecov-action#1739</a></li>
<li>fix: remove erroneous linebreak in readme by <a href="https://github.com/Vampire"><code>@​Vampire</code></a> in <a href="https://redirect.github.com/codecov/codecov-action/pull/1734">codecov/codecov-action#1734</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/codecov/codecov-action/compare/v5.1.2..v5.2.0">https://github.com/codecov/codecov-action/compare/v5.1.2..v5.2.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/codecov/codecov-action/commit/13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3"><code>13ce06b</code></a> chore(release): bump to 5.3.1</li>
<li><a href="https://github.com/codecov/codecov-action/commit/3e260409808a9d6e480e7d31aed41224fbcbf201"><code>3e26040</code></a> fix: add docs and copy over dist (<a href="https://redirect.github.com/codecov/codecov-action/issues/1752">#1752</a>)</li>
<li><a href="https://github.com/codecov/codecov-action/commit/0da7aa657d958d32c117fc47e1f977e7524753c7"><code>0da7aa6</code></a> chore(release): 5.3.0 (<a href="https://redirect.github.com/codecov/codecov-action/issues/1751">#1751</a>)</li>
<li><a href="https://github.com/codecov/codecov-action/commit/1ca7ce65df9d8b02c16d05c1749d031b9b0627b4"><code>1ca7ce6</code></a> chore(release): wrapper -0.1.0 (<a href="https://redirect.github.com/codecov/codecov-action/issues/1750">#1750</a>)</li>
<li><a href="https://github.com/codecov/codecov-action/commit/65baa5fcb69d85c3bba6323fd1fbc7598857b44f"><code>65baa5f</code></a> Update README with reqs (<a href="https://redirect.github.com/codecov/codecov-action/issues/1749">#1749</a>)</li>
<li><a href="https://github.com/codecov/codecov-action/commit/5a605bd92782ce0810fa3b8acc235c921b497052"><code>5a605bd</code></a> chore(release): bump to 5.2.0 (<a href="https://redirect.github.com/codecov/codecov-action/issues/1748">#1748</a>)</li>
<li><a href="https://github.com/codecov/codecov-action/commit/5825942583afb2414b3c7097ffae795c7cb4c042"><code>5825942</code></a> Fix typo in README (<a href="https://redirect.github.com/codecov/codecov-action/issues/1747">#1747</a>)</li>
<li><a href="https://github.com/codecov/codecov-action/commit/b1a63834ce744b09ffd721206f6874b967bd8a07"><code>b1a6383</code></a> Th/add commands (<a href="https://redirect.github.com/codecov/codecov-action/issues/1745">#1745</a>)</li>
<li><a href="https://github.com/codecov/codecov-action/commit/6c5b693a58b15cefda3a7403bf51de71c223ef00"><code>6c5b693</code></a> use correct audience when requesting oidc token (<a href="https://redirect.github.com/codecov/codecov-action/issues/1744">#1744</a>)</li>
<li><a href="https://github.com/codecov/codecov-action/commit/ad45165bd4a83d2b1f3765391b25169a62face76"><code>ad45165</code></a> build(deps): bump github/codeql-action from 3.27.9 to 3.28.1 (<a href="https://redirect.github.com/codecov/codecov-action/issues/1742">#1742</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/codecov/codecov-action/compare/v5.1.2...v5.3.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=codecov/codecov-action&package-manager=github_actions&previous-version=5.1.2&new-version=5.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions


</details>

codecov[bot]: ## [Codecov](https://app.codecov.io/gh/javalin/javalin/pull/2363?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=javalin) Report
All modified and coverable lines are covered by tests :white_check_mark:
> Project coverage is 87.12%. Comparing base [(`2b63b76`)](https://app.codecov.io/gh/javalin/javalin/commit/2b63b76fd4b262c4eb8ff5187926e83bd2dd6129?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=javalin) to head [(`6e7c1db`)](https://app.codecov.io/gh/javalin/javalin/commit/6e7c1db2936c0145f9192a3035bfbc3ccc8736ad?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=javalin).

<details><summary>Additional details and impacted files</summary>


```diff
@@            Coverage Diff            @@
##             master    #2363   +/-   ##
=========================================
  Coverage     87.12%   87.12%           
  Complexity     1320     1320           
=========================================
  Files           148      148           
  Lines          4467     4467           
  Branches        512      512           
=========================================
  Hits           3892     3892           
  Misses          354      354           
  Partials        221      221           
```

</details>

[:umbrella: View full report in Codecov by Sentry](https://app.codecov.io/gh/javalin/javalin/pull/2363?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=javalin).   
:loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=javalin).

dependabot[bot]: Dependabot tried to update this pull request, but something went wrong. We're looking into it, but in the meantime you can retry the update by commenting `@dependabot rebase`.

Patch:
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 7738a847..4435773b 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -60,7 +60,7 @@ jobs:
         env:
           MAVEN_OPTS: -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
       - name: Upload coverage to Codecov
-        uses: codecov/codecov-action@v5.1.2
+        uses: codecov/codecov-action@v5.3.1
         with:
           files: "${{ github.workspace }}/javalin-utils/coverage/target/site/jacoco-aggregate/jacoco.xml"
           verbose: true
diff --git a/javalin-micrometer/src/main/java/io/javalin/micrometer/MicrometerPlugin.kt b/javalin-micrometer/src/main/java/io/javalin/micrometer/MicrometerPlugin.kt
index 4d50954a..643b2a4a 100644
--- a/javalin-micrometer/src/main/java/io/javalin/micrometer/MicrometerPlugin.kt
+++ b/javalin-micrometer/src/main/java/io/javalin/micrometer/MicrometerPlugin.kt
@@ -65,7 +65,7 @@ class MicrometerPlugin(config: Consumer<MicrometerPluginConfig>) : Plugin<Microm
                     }
                     val pathInfo = request.pathInfo.removePrefix(config.router.contextPath).prefixIfNot("/")
                     response.setHeader(EXCEPTION_HEADER, null)
-                    val handlerType = HandlerType.valueOf(request.method)
+                    val handlerType = HandlerType.findByName(request.method)
                     val uri = internalRouter.findHttpHandlerEntries(handlerType, pathInfo)
                         .map { it.endpoint.path }
                         .map { if (it == "/" || it.isBlank()) "root" else it }
diff --git a/javalin/src/main/java/io/javalin/config/HttpConfig.kt b/javalin/src/main/java/io/javalin/config/HttpConfig.kt
index 09cc72c1..efbde710 100644
--- a/javalin/src/main/java/io/javalin/config/HttpConfig.kt
+++ b/javalin/src/main/java/io/javalin/config/HttpConfig.kt
@@ -17,6 +17,7 @@ class HttpConfig(private val cfg: JavalinConfig) {
     @JvmField var prefer405over404 = false
     @JvmField var strictContentTypes = false
     @JvmField var maxRequestSize = 1_000_000L // increase this or use inputstream to handle large requests
+    @JvmField var responseBufferSize: Int? = null
     @JvmField var defaultContentType = ContentType.PLAIN
     @JvmField var asyncTimeout = 0L
     //@formatter:on
diff --git a/javalin/src/main/java/io/javalin/http/HttpStatus.kt b/javalin/src/main/java/io/javalin/http/HttpStatus.kt
index ddbc1218..e30da1de 100644
--- a/javalin/src/main/java/io/javalin/http/HttpStatus.kt
+++ b/javalin/src/main/java/io/javalin/http/HttpStatus.kt
@@ -149,9 +149,10 @@ enum class HttpStatus(val code: Int, val message: String) {
 
     companion object {
 
+        private val statusMap = HttpStatus.entries.associateBy { it.code }
+
         @JvmStatic
-        fun forStatus(status: Int): HttpStatus =
-            HttpStatus.entries.find { it.code == status } ?: UNKNOWN
+        fun forStatus(status: Int): HttpStatus = statusMap[status] ?: UNKNOWN
 
     }
 
diff --git a/javalin/src/main/java/io/javalin/http/servlet/JavalinServlet.kt b/javalin/src/main/java/io/javalin/http/servlet/JavalinServlet.kt
index 2889b6e3..a52d7d99 100644
--- a/javalin/src/main/java/io/javalin/http/servlet/JavalinServlet.kt
+++ b/javalin/src/main/java/io/javalin/http/servlet/JavalinServlet.kt
@@ -109,7 +109,7 @@ class JavalinServlet(val cfg: JavalinConfig) : HttpServlet() {
             if (responseWritten.getAndSet(true)) return // prevent writing more than once, it's required because timeout listener can terminate the flow at any time
             resultInputStream()?.use { resultStream ->
                 val etagWritten = ETagGenerator.tryWriteEtagAndClose(cfg.http.generateEtags, this, resultStream)
-                if (!etagWritten) resultStream.copyTo(outputStream(), 4096)
+                if (!etagWritten) resultStream.copyTo(outputStream(), cfg.http.responseBufferSize ?: 32_768) // default should never happen, we add a fallback just in case
             }
             cfg.pvt.requestLogger?.handle(this, executionTimeMs())
         } catch (throwable: Throwable) {
diff --git a/javalin/src/main/java/io/javalin/jetty/JettyServer.kt b/javalin/src/main/java/io/javalin/jetty/JettyServer.kt
index ad9283b3..fd203dcb 100644
--- a/javalin/src/main/java/io/javalin/jetty/JettyServer.kt
+++ b/javalin/src/main/java/io/javalin/jetty/JettyServer.kt
@@ -79,6 +79,10 @@ class JettyServer(private val cfg: JavalinConfig) {
             })
             val httpConfiguration = defaultHttpConfiguration()
             cfg.pvt.jetty.httpConfigurationConfigs.forEach { it.accept(httpConfiguration) } // apply user config (before connectors)
+            // use the jetty value, either the default or something the user has specified with the cfg.jetty.modifyHttpConfiguration option if there is no value set with the new api.
+            if (cfg.http.responseBufferSize == null) {
+                cfg.http.responseBufferSize = httpConfiguration.outputBufferSize
+            }
             cfg.pvt.jetty.connectors.map { it.apply(this, httpConfiguration) }.forEach(this::addConnector) // add user connectors
             if (connectors.isEmpty()) { // add default connector if no connectors are specified
                 connectors = arrayOf(ServerConnector(server, HttpConnectionFactory(httpConfiguration)).apply {


Test patch:
diff --git a/javalin-micrometer/src/test/kotlin/io/javalin/micrometer/MicrometerPluginTest.kt b/javalin-micrometer/src/test/kotlin/io/javalin/micrometer/MicrometerPluginTest.kt
index d1153195..679682b7 100644
--- a/javalin-micrometer/src/test/kotlin/io/javalin/micrometer/MicrometerPluginTest.kt
+++ b/javalin-micrometer/src/test/kotlin/io/javalin/micrometer/MicrometerPluginTest.kt
@@ -227,6 +227,28 @@ class MicrometerPluginTest {
         assertThat(notFoundCountGeneric).isEqualTo(requestCount.toLong())
     }
 
+    @Test
+    fun invalidMethod() = JavalinTest.test(setupApp(tagNotFoundMappedPaths = true)) { app, http ->
+        val requestCount = (2..9).random()
+        app.get("/hello") { ctx ->
+            ctx.status(OK)
+        }
+        repeat(requestCount) {
+            http.request("/hello") { b -> b.method("POSTS", null) }
+        }
+
+        val notFoundCountGeneric = meterRegistry.get("jetty.server.requests")
+            .tag("uri", "NOT_FOUND")
+            .tag("method", "POSTS")
+            .tag("exception", "None")
+            .tag("status", "404")
+            .tag("outcome", "CLIENT_ERROR")
+            .timer()
+            .count()
+
+        assertThat(notFoundCountGeneric).isEqualTo(requestCount.toLong())
+    }
+
     private fun setupApp(
         tagRedirectPaths: Boolean = false,
         tagNotFoundMappedPaths: Boolean = false,
diff --git a/javalin/src/test/java/io/javalin/TestCustomJettyHttpConfiguration.kt b/javalin/src/test/java/io/javalin/TestCustomJettyHttpConfiguration.kt
index de29cd3c..9ceb50dc 100644
--- a/javalin/src/test/java/io/javalin/TestCustomJettyHttpConfiguration.kt
+++ b/javalin/src/test/java/io/javalin/TestCustomJettyHttpConfiguration.kt
@@ -79,4 +79,31 @@ class TestCustomJettyHttpConfiguration {
 
     }
 
+    @Test
+    fun `responseBufferSize - default is set to the jetty default for outputBufferSize`() = TestUtil.test { app, http ->
+        val firstHttpConnectionFactory = app.jettyServer().server().connectors.firstNotNullOfOrNull { (it as? ServerConnector)?.defaultConnectionFactory as? HttpConnectionFactory }
+        assertThat(app.unsafeConfig().http.responseBufferSize)
+            .isNotNull
+            .isEqualTo(firstHttpConnectionFactory?.httpConfiguration?.outputBufferSize)
+    }
+
+    @Test
+    fun `responseBufferSize - outputBufferSize set via jetty httpConfiguration is respected`() = TestUtil.test(Javalin.create { config ->
+        config.jetty.modifyHttpConfiguration { http -> http.outputBufferSize = 42_007 }
+    }) { app, http ->
+        assertThat(app.unsafeConfig().http.responseBufferSize)
+            .isNotNull
+            .isEqualTo(42_007)
+    }
+
+    @Test
+    fun `responseBufferSize - setting the javalin option has a higher priority than the jetty option`() = TestUtil.test(Javalin.create { config ->
+        config.http.responseBufferSize = 777_777
+        config.jetty.modifyHttpConfiguration { http -> http.outputBufferSize = 555_555 }
+    }) { app, http ->
+        assertThat(app.unsafeConfig().http.responseBufferSize)
+            .isNotNull
+            .isEqualTo(777_777)
+    }
+
 }