[sse] Relax Accept header validation to support multiple content types#2474
Merged
Conversation
Co-authored-by: tipsy <1521451+tipsy@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Fix Accept header handling in SSE requests
[sse] Relax Accept header validation to support multiple content types
Oct 11, 2025
tipsy
requested changes
Oct 11, 2025
Comment on lines
+198
to
+201
| val body = Unirest.get("${http.origin}/sse") | ||
| .header("Accept", "text/event-stream, text/html, application/json") | ||
| .asString() | ||
| .body |
Comment on lines
+206
to
+215
| @Test | ||
| fun `sse works with Accept header containing text-event-stream at the end`() = TestUtil.test { app, http -> | ||
| app.sse("/sse") { it.doAndClose { it.sendEvent(event, data) } } | ||
| val body = Unirest.get("${http.origin}/sse") | ||
| .header("Accept", "text/html, application/json, text/event-stream") | ||
| .asString() | ||
| .body | ||
| assertThat(body).contains("event: $event") | ||
| assertThat(body).contains("data: $data") | ||
| } |
Member
|
@copilot please address review comments, |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #2474 +/- ##
=========================================
Coverage 86.39% 86.39%
- Complexity 1447 1449 +2
=========================================
Files 149 149
Lines 4646 4646
Branches 489 489
=========================================
Hits 4014 4014
Misses 409 409
Partials 223 223 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…ecessary test Co-authored-by: tipsy <1521451+tipsy@users.noreply.github.com>
mergify Bot
added a commit
to robfrank/linklift
that referenced
this pull request
Mar 10, 2026
Bumps `javalin.version` from 6.7.0 to 7.0.1. Updates `io.javalin:javalin-bundle` from 6.7.0 to 7.0.1 Release notes *Sourced from [io.javalin:javalin-bundle's releases](https://github.com/javalin/javalin/releases).* > 7.0.1 > ----- > > What's Changed > -------------- > > * [readme] v7 release updates by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2527](https://redirect.github.com/javalin/javalin/pull/2527) > * [micrometer] Fix interference with user-configured request logger by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2533](https://redirect.github.com/javalin/javalin/pull/2533) > * [logging] Allow for multiple request loggers by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2539](https://redirect.github.com/javalin/javalin/pull/2539) > > **Full Changelog**: <javalin/javalin@javalin-parent-7.0.0...javalin-parent-7.0.1> > > 7.0.0 > ----- > > What's Changed > -------------- > > * Fix infinite loop in custom exception handling by [`@LordOfLeaks`](https://github.com/LordOfLeaks) in [javalin/javalin#2423](https://redirect.github.com/javalin/javalin/pull/2423) > * [workflow]: Bump actions/checkout from 4 to 5 in the dependencies group by [`@dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2428](https://redirect.github.com/javalin/javalin/pull/2428) > * Add comprehensive GitHub Copilot instructions with commit message convention by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2433](https://redirect.github.com/javalin/javalin/pull/2433) > * Bump and rename sslcontext-kickstart to ayza by [`@Hakky54`](https://github.com/Hakky54) in [javalin/javalin#2434](https://redirect.github.com/javalin/javalin/pull/2434) > * Update Javalin to version 7.0.0-SNAPSHOT with Java 17 requirement by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2431](https://redirect.github.com/javalin/javalin/pull/2431) > * Improve test suite by adding HTTP status code assertions and cleaning up static files tests by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2437](https://redirect.github.com/javalin/javalin/pull/2437) > * [core] Migrate to Jetty 12 by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2444](https://redirect.github.com/javalin/javalin/pull/2444) > * [workflow]: Bump the dependencies group with 3 updates by [`@dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2445](https://redirect.github.com/javalin/javalin/pull/2445) > * Optimize static file handling by leveraging Jetty 12 native capabilities by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2447](https://redirect.github.com/javalin/javalin/pull/2447) > * Upgrade Kotlin from 1.9.25 to 2.0.21 and remove JTE integration by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2452](https://redirect.github.com/javalin/javalin/pull/2452) > * [deps] Update Pebble to 3.2.4 and fix package imports for CVE security fix by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2453](https://redirect.github.com/javalin/javalin/pull/2453) > * Update all dependencies and plugins to latest stable versions by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2456](https://redirect.github.com/javalin/javalin/pull/2456) > * [context] add support for quoted charset in content-type header ([#2448](https://redirect.github.com/javalin/javalin/issues/2448)) by [`@Pinusar`](https://github.com/Pinusar) in [javalin/javalin#2449](https://redirect.github.com/javalin/javalin/pull/2449) > * Add onUpgrade method to WebSocket RequestLogger by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2450](https://redirect.github.com/javalin/javalin/pull/2450) > * Fix cookie handling in JavalinTest client by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2459](https://redirect.github.com/javalin/javalin/pull/2459) > * Replace OkHTTP with native JDK HttpClient in javalin-testtools by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2461](https://redirect.github.com/javalin/javalin/pull/2461) > * [ssl] Drop Conscrypt ALPN support from SSL Plugin by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2464](https://redirect.github.com/javalin/javalin/pull/2464) > * [compression] Add preferred compressors list by [`@fabiobento512`](https://github.com/fabiobento512) in [javalin/javalin#2427](https://redirect.github.com/javalin/javalin/pull/2427) > * Add Zstandard compression support using zstd-jni by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2465](https://redirect.github.com/javalin/javalin/pull/2465) > * Fix Missing Allow Header in HTTP 405 Responses by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2468](https://redirect.github.com/javalin/javalin/pull/2468) > * [sse] Relax Accept header validation to support multiple content types by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2474](https://redirect.github.com/javalin/javalin/pull/2474) > * [routing] Support custom HTTP methods by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2478](https://redirect.github.com/javalin/javalin/pull/2478) > * [tests] Fix flakiness in TestRateLimitUtil by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2477](https://redirect.github.com/javalin/javalin/pull/2477) > * [javalin] Move routing to config by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2479](https://redirect.github.com/javalin/javalin/pull/2479) > * [maven] Refactor modules by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2481](https://redirect.github.com/javalin/javalin/pull/2481) > * [github] Improve copilot-instructions.md with comprehensive Javalin patterns and philosophy by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2483](https://redirect.github.com/javalin/javalin/pull/2483) > * [core] Introduce endpoint stack and utilize endpoints more by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2486](https://redirect.github.com/javalin/javalin/pull/2486) > * [async] Improve async handling by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2489](https://redirect.github.com/javalin/javalin/pull/2489) > * [deps] Upgrade OkHttp to 5.3.0 by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2496](https://redirect.github.com/javalin/javalin/pull/2496) > * [core] Add config option to disable old version check warning by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2499](https://redirect.github.com/javalin/javalin/pull/2499) > * Add static keyword to wsBefore and wsAfter in ApiBuilder by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2501](https://redirect.github.com/javalin/javalin/pull/2501) > * [deps] Update Pebble to 4.0.0 by [`@kamenitxan`](https://github.com/kamenitxan) in [javalin/javalin#2502](https://redirect.github.com/javalin/javalin/pull/2502) > * [workflow]: Bump actions/checkout from 5 to 6 in the dependencies group by [`@dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2503](https://redirect.github.com/javalin/javalin/pull/2503) > * [config] Rework JavalinConfig by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2504](https://redirect.github.com/javalin/javalin/pull/2504) > * [tests] Add missing test cases by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2506](https://redirect.github.com/javalin/javalin/pull/2506) > * [cors] Use JDK's URI class by [`@Playacem`](https://github.com/Playacem) in [javalin/javalin#2180](https://redirect.github.com/javalin/javalin/pull/2180) > * [micrometer] Restore Micrometer plugin for Javalin7/Jetty12 by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2511](https://redirect.github.com/javalin/javalin/pull/2511) > * [json] Fix NoClassDefFoundError for ObjectMapper on Kotlin 2.x by [`@fahrradflucht`](https://github.com/fahrradflucht) in [javalin/javalin#2510](https://redirect.github.com/javalin/javalin/pull/2510) > * Extend Context#redirect to beforeMatched and rename skipIfExceptionOccurred by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2515](https://redirect.github.com/javalin/javalin/pull/2515) > * [routing] Clean up unused interfaces and generics by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2517](https://redirect.github.com/javalin/javalin/pull/2517) ... (truncated) Commits * [`bbe55e5`](javalin/javalin@bbe55e5) [maven-release-plugin] prepare release javalin-parent-7.0.1 * [`f5a4934`](javalin/javalin@f5a4934) [logging] Allow for multiple request loggers ([#2539](https://redirect.github.com/javalin/javalin/issues/2539)) * [`e134377`](javalin/javalin@e134377) [micrometer] Fix interference with user-configured request logger ([#2533](https://redirect.github.com/javalin/javalin/issues/2533)) * [`5b5b2fb`](javalin/javalin@5b5b2fb) [websocket] Fix attributes set in wsBeforeUpgrade not persisting to onConnect * [`d4b8c5b`](javalin/javalin@d4b8c5b) [ratelimitplugin] Fix regression in default key function * [`698995d`](javalin/javalin@698995d) [endpoints] Add option to get the future matched enpoint * [`9c3461f`](javalin/javalin@9c3461f) [docs] Update for v7 * [`6821dea`](javalin/javalin@6821dea) [maven-release-plugin] prepare for next development iteration * [`3e02e28`](javalin/javalin@3e02e28) [maven-release-plugin] prepare release javalin-parent-7.0.0 * [`a02ecb7`](javalin/javalin@a02ecb7) [pom] Publish aggregator poms to fix release deploy * Additional commits viewable in [compare view](javalin/javalin@javalin-parent-6.7.0...javalin-parent-7.0.1) Updates `io.javalin.community.openapi:javalin-openapi-plugin` from 6.7.0 to 7.0.1 Release notes *Sourced from [io.javalin.community.openapi:javalin-openapi-plugin's releases](https://github.com/javalin/javalin-openapi/releases).* > 7.0.0 > ----- > > **Changes** > > * See: <https://javalin.github.io/javalin-openapi/introduction/migration-from-6x.html> > > **Sponsors** > Thanks to everyone who supported me this month 💜 > > **Minimal requirements** > > * Java 17+ / Kotlin 2.3+ > * Javalin 7.0.0 > > **Download** > > * [Wiki / Installation](https://github.com/javalin/javalin-openapi/wiki/1.-Installation) > > 7.0.0-beta.1 > ------------ > > **Changes** > > * Support Javalin 7.0.0-beta.1 > > **Sponsors** > Thanks to everyone who supported me this month 💜 ... (truncated) Commits * [`4a073c8`](javalin/javalin-openapi@4a073c8) [GH-274](https://redirect.github.com/javalin/javalin-openapi/issues/274) Release 7.0.1 (Resolves [#274](https://redirect.github.com/javalin/javalin-openapi/issues/274)) * [`11d10d5`](javalin/javalin-openapi@11d10d5) [GH-273](https://redirect.github.com/javalin/javalin-openapi/issues/273) Restructure dependencies (Fixes [#272](https://redirect.github.com/javalin/javalin-openapi/issues/272)) * [`41b3061`](javalin/javalin-openapi@41b3061) [GH-271](https://redirect.github.com/javalin/javalin-openapi/issues/271) Migration guide from 6.x * [`1669065`](javalin/javalin-openapi@1669065) [GH-271](https://redirect.github.com/javalin/javalin-openapi/issues/271) Redesign core implementation for Javalin 7.x * [`0c6ba93`](javalin/javalin-openapi@0c6ba93) [GH-268](https://redirect.github.com/javalin/javalin-openapi/issues/268) Replace wiki reference with a new docs in README ([#268](https://redirect.github.com/javalin/javalin-openapi/issues/268)) * [`5346ada`](javalin/javalin-openapi@5346ada) chore: adjust module resource path formatting in readme * [`dd49a03`](javalin/javalin-openapi@dd49a03) fix: modify OpenAPI plugin resource path description * [`13e6778`](javalin/javalin-openapi@13e6778) chore: update README for Javalin 7.x changes * [`57ff8f7`](javalin/javalin-openapi@57ff8f7) [GH-264](https://redirect.github.com/javalin/javalin-openapi/issues/264) Drop GitHub Wiki * [`b94bc1f`](javalin/javalin-openapi@b94bc1f) [GH-264](https://redirect.github.com/javalin/javalin-openapi/issues/264) Define custom base path for docs deployed to GitHub pages * Additional commits viewable in [compare view](javalin/javalin-openapi@6.7.0...7.0.1) Updates `io.javalin.community.openapi:javalin-swagger-plugin` from 6.7.0 to 7.0.1 Release notes *Sourced from [io.javalin.community.openapi:javalin-swagger-plugin's releases](https://github.com/javalin/javalin-openapi/releases).* > 7.0.0 > ----- > > **Changes** > > * See: <https://javalin.github.io/javalin-openapi/introduction/migration-from-6x.html> > > **Sponsors** > Thanks to everyone who supported me this month 💜 > > **Minimal requirements** > > * Java 17+ / Kotlin 2.3+ > * Javalin 7.0.0 > > **Download** > > * [Wiki / Installation](https://github.com/javalin/javalin-openapi/wiki/1.-Installation) > > 7.0.0-beta.1 > ------------ > > **Changes** > > * Support Javalin 7.0.0-beta.1 > > **Sponsors** > Thanks to everyone who supported me this month 💜 ... (truncated) Commits * [`4a073c8`](javalin/javalin-openapi@4a073c8) [GH-274](https://redirect.github.com/javalin/javalin-openapi/issues/274) Release 7.0.1 (Resolves [#274](https://redirect.github.com/javalin/javalin-openapi/issues/274)) * [`11d10d5`](javalin/javalin-openapi@11d10d5) [GH-273](https://redirect.github.com/javalin/javalin-openapi/issues/273) Restructure dependencies (Fixes [#272](https://redirect.github.com/javalin/javalin-openapi/issues/272)) * [`41b3061`](javalin/javalin-openapi@41b3061) [GH-271](https://redirect.github.com/javalin/javalin-openapi/issues/271) Migration guide from 6.x * [`1669065`](javalin/javalin-openapi@1669065) [GH-271](https://redirect.github.com/javalin/javalin-openapi/issues/271) Redesign core implementation for Javalin 7.x * [`0c6ba93`](javalin/javalin-openapi@0c6ba93) [GH-268](https://redirect.github.com/javalin/javalin-openapi/issues/268) Replace wiki reference with a new docs in README ([#268](https://redirect.github.com/javalin/javalin-openapi/issues/268)) * [`5346ada`](javalin/javalin-openapi@5346ada) chore: adjust module resource path formatting in readme * [`dd49a03`](javalin/javalin-openapi@dd49a03) fix: modify OpenAPI plugin resource path description * [`13e6778`](javalin/javalin-openapi@13e6778) chore: update README for Javalin 7.x changes * [`57ff8f7`](javalin/javalin-openapi@57ff8f7) [GH-264](https://redirect.github.com/javalin/javalin-openapi/issues/264) Drop GitHub Wiki * [`b94bc1f`](javalin/javalin-openapi@b94bc1f) [GH-264](https://redirect.github.com/javalin/javalin-openapi/issues/264) Define custom base path for docs deployed to GitHub pages * Additional commits viewable in [compare view](javalin/javalin-openapi@6.7.0...7.0.1) Updates `io.javalin:javalin-micrometer` from 6.7.0 to 7.0.1 Release notes *Sourced from [io.javalin:javalin-micrometer's releases](https://github.com/javalin/javalin/releases).* > 7.0.1 > ----- > > What's Changed > -------------- > > * [readme] v7 release updates by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2527](https://redirect.github.com/javalin/javalin/pull/2527) > * [micrometer] Fix interference with user-configured request logger by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2533](https://redirect.github.com/javalin/javalin/pull/2533) > * [logging] Allow for multiple request loggers by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2539](https://redirect.github.com/javalin/javalin/pull/2539) > > **Full Changelog**: <javalin/javalin@javalin-parent-7.0.0...javalin-parent-7.0.1> > > 7.0.0 > ----- > > What's Changed > -------------- > > * Fix infinite loop in custom exception handling by [`@LordOfLeaks`](https://github.com/LordOfLeaks) in [javalin/javalin#2423](https://redirect.github.com/javalin/javalin/pull/2423) > * [workflow]: Bump actions/checkout from 4 to 5 in the dependencies group by [`@dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2428](https://redirect.github.com/javalin/javalin/pull/2428) > * Add comprehensive GitHub Copilot instructions with commit message convention by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2433](https://redirect.github.com/javalin/javalin/pull/2433) > * Bump and rename sslcontext-kickstart to ayza by [`@Hakky54`](https://github.com/Hakky54) in [javalin/javalin#2434](https://redirect.github.com/javalin/javalin/pull/2434) > * Update Javalin to version 7.0.0-SNAPSHOT with Java 17 requirement by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2431](https://redirect.github.com/javalin/javalin/pull/2431) > * Improve test suite by adding HTTP status code assertions and cleaning up static files tests by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2437](https://redirect.github.com/javalin/javalin/pull/2437) > * [core] Migrate to Jetty 12 by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2444](https://redirect.github.com/javalin/javalin/pull/2444) > * [workflow]: Bump the dependencies group with 3 updates by [`@dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2445](https://redirect.github.com/javalin/javalin/pull/2445) > * Optimize static file handling by leveraging Jetty 12 native capabilities by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2447](https://redirect.github.com/javalin/javalin/pull/2447) > * Upgrade Kotlin from 1.9.25 to 2.0.21 and remove JTE integration by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2452](https://redirect.github.com/javalin/javalin/pull/2452) > * [deps] Update Pebble to 3.2.4 and fix package imports for CVE security fix by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2453](https://redirect.github.com/javalin/javalin/pull/2453) > * Update all dependencies and plugins to latest stable versions by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2456](https://redirect.github.com/javalin/javalin/pull/2456) > * [context] add support for quoted charset in content-type header ([#2448](https://redirect.github.com/javalin/javalin/issues/2448)) by [`@Pinusar`](https://github.com/Pinusar) in [javalin/javalin#2449](https://redirect.github.com/javalin/javalin/pull/2449) > * Add onUpgrade method to WebSocket RequestLogger by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2450](https://redirect.github.com/javalin/javalin/pull/2450) > * Fix cookie handling in JavalinTest client by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2459](https://redirect.github.com/javalin/javalin/pull/2459) > * Replace OkHTTP with native JDK HttpClient in javalin-testtools by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2461](https://redirect.github.com/javalin/javalin/pull/2461) > * [ssl] Drop Conscrypt ALPN support from SSL Plugin by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2464](https://redirect.github.com/javalin/javalin/pull/2464) > * [compression] Add preferred compressors list by [`@fabiobento512`](https://github.com/fabiobento512) in [javalin/javalin#2427](https://redirect.github.com/javalin/javalin/pull/2427) > * Add Zstandard compression support using zstd-jni by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2465](https://redirect.github.com/javalin/javalin/pull/2465) > * Fix Missing Allow Header in HTTP 405 Responses by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2468](https://redirect.github.com/javalin/javalin/pull/2468) > * [sse] Relax Accept header validation to support multiple content types by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2474](https://redirect.github.com/javalin/javalin/pull/2474) > * [routing] Support custom HTTP methods by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2478](https://redirect.github.com/javalin/javalin/pull/2478) > * [tests] Fix flakiness in TestRateLimitUtil by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2477](https://redirect.github.com/javalin/javalin/pull/2477) > * [javalin] Move routing to config by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2479](https://redirect.github.com/javalin/javalin/pull/2479) > * [maven] Refactor modules by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2481](https://redirect.github.com/javalin/javalin/pull/2481) > * [github] Improve copilot-instructions.md with comprehensive Javalin patterns and philosophy by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2483](https://redirect.github.com/javalin/javalin/pull/2483) > * [core] Introduce endpoint stack and utilize endpoints more by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2486](https://redirect.github.com/javalin/javalin/pull/2486) > * [async] Improve async handling by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2489](https://redirect.github.com/javalin/javalin/pull/2489) > * [deps] Upgrade OkHttp to 5.3.0 by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2496](https://redirect.github.com/javalin/javalin/pull/2496) > * [core] Add config option to disable old version check warning by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2499](https://redirect.github.com/javalin/javalin/pull/2499) > * Add static keyword to wsBefore and wsAfter in ApiBuilder by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2501](https://redirect.github.com/javalin/javalin/pull/2501) > * [deps] Update Pebble to 4.0.0 by [`@kamenitxan`](https://github.com/kamenitxan) in [javalin/javalin#2502](https://redirect.github.com/javalin/javalin/pull/2502) > * [workflow]: Bump actions/checkout from 5 to 6 in the dependencies group by [`@dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2503](https://redirect.github.com/javalin/javalin/pull/2503) > * [config] Rework JavalinConfig by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2504](https://redirect.github.com/javalin/javalin/pull/2504) > * [tests] Add missing test cases by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2506](https://redirect.github.com/javalin/javalin/pull/2506) > * [cors] Use JDK's URI class by [`@Playacem`](https://github.com/Playacem) in [javalin/javalin#2180](https://redirect.github.com/javalin/javalin/pull/2180) > * [micrometer] Restore Micrometer plugin for Javalin7/Jetty12 by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2511](https://redirect.github.com/javalin/javalin/pull/2511) > * [json] Fix NoClassDefFoundError for ObjectMapper on Kotlin 2.x by [`@fahrradflucht`](https://github.com/fahrradflucht) in [javalin/javalin#2510](https://redirect.github.com/javalin/javalin/pull/2510) > * Extend Context#redirect to beforeMatched and rename skipIfExceptionOccurred by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2515](https://redirect.github.com/javalin/javalin/pull/2515) > * [routing] Clean up unused interfaces and generics by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2517](https://redirect.github.com/javalin/javalin/pull/2517) ... (truncated) Commits * [`bbe55e5`](javalin/javalin@bbe55e5) [maven-release-plugin] prepare release javalin-parent-7.0.1 * [`f5a4934`](javalin/javalin@f5a4934) [logging] Allow for multiple request loggers ([#2539](https://redirect.github.com/javalin/javalin/issues/2539)) * [`e134377`](javalin/javalin@e134377) [micrometer] Fix interference with user-configured request logger ([#2533](https://redirect.github.com/javalin/javalin/issues/2533)) * [`5b5b2fb`](javalin/javalin@5b5b2fb) [websocket] Fix attributes set in wsBeforeUpgrade not persisting to onConnect * [`d4b8c5b`](javalin/javalin@d4b8c5b) [ratelimitplugin] Fix regression in default key function * [`698995d`](javalin/javalin@698995d) [endpoints] Add option to get the future matched enpoint * [`9c3461f`](javalin/javalin@9c3461f) [docs] Update for v7 * [`6821dea`](javalin/javalin@6821dea) [maven-release-plugin] prepare for next development iteration * [`3e02e28`](javalin/javalin@3e02e28) [maven-release-plugin] prepare release javalin-parent-7.0.0 * [`a02ecb7`](javalin/javalin@a02ecb7) [pom] Publish aggregator poms to fix release deploy * Additional commits viewable in [compare view](javalin/javalin@javalin-parent-6.7.0...javalin-parent-7.0.1) Updates `io.javalin:javalin-testtools` from 6.7.0 to 7.0.1 Release notes *Sourced from [io.javalin:javalin-testtools's releases](https://github.com/javalin/javalin/releases).* > 7.0.1 > ----- > > What's Changed > -------------- > > * [readme] v7 release updates by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2527](https://redirect.github.com/javalin/javalin/pull/2527) > * [micrometer] Fix interference with user-configured request logger by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2533](https://redirect.github.com/javalin/javalin/pull/2533) > * [logging] Allow for multiple request loggers by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2539](https://redirect.github.com/javalin/javalin/pull/2539) > > **Full Changelog**: <javalin/javalin@javalin-parent-7.0.0...javalin-parent-7.0.1> > > 7.0.0 > ----- > > What's Changed > -------------- > > * Fix infinite loop in custom exception handling by [`@LordOfLeaks`](https://github.com/LordOfLeaks) in [javalin/javalin#2423](https://redirect.github.com/javalin/javalin/pull/2423) > * [workflow]: Bump actions/checkout from 4 to 5 in the dependencies group by [`@dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2428](https://redirect.github.com/javalin/javalin/pull/2428) > * Add comprehensive GitHub Copilot instructions with commit message convention by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2433](https://redirect.github.com/javalin/javalin/pull/2433) > * Bump and rename sslcontext-kickstart to ayza by [`@Hakky54`](https://github.com/Hakky54) in [javalin/javalin#2434](https://redirect.github.com/javalin/javalin/pull/2434) > * Update Javalin to version 7.0.0-SNAPSHOT with Java 17 requirement by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2431](https://redirect.github.com/javalin/javalin/pull/2431) > * Improve test suite by adding HTTP status code assertions and cleaning up static files tests by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2437](https://redirect.github.com/javalin/javalin/pull/2437) > * [core] Migrate to Jetty 12 by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2444](https://redirect.github.com/javalin/javalin/pull/2444) > * [workflow]: Bump the dependencies group with 3 updates by [`@dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2445](https://redirect.github.com/javalin/javalin/pull/2445) > * Optimize static file handling by leveraging Jetty 12 native capabilities by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2447](https://redirect.github.com/javalin/javalin/pull/2447) > * Upgrade Kotlin from 1.9.25 to 2.0.21 and remove JTE integration by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2452](https://redirect.github.com/javalin/javalin/pull/2452) > * [deps] Update Pebble to 3.2.4 and fix package imports for CVE security fix by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2453](https://redirect.github.com/javalin/javalin/pull/2453) > * Update all dependencies and plugins to latest stable versions by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2456](https://redirect.github.com/javalin/javalin/pull/2456) > * [context] add support for quoted charset in content-type header ([#2448](https://redirect.github.com/javalin/javalin/issues/2448)) by [`@Pinusar`](https://github.com/Pinusar) in [javalin/javalin#2449](https://redirect.github.com/javalin/javalin/pull/2449) > * Add onUpgrade method to WebSocket RequestLogger by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2450](https://redirect.github.com/javalin/javalin/pull/2450) > * Fix cookie handling in JavalinTest client by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2459](https://redirect.github.com/javalin/javalin/pull/2459) > * Replace OkHTTP with native JDK HttpClient in javalin-testtools by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2461](https://redirect.github.com/javalin/javalin/pull/2461) > * [ssl] Drop Conscrypt ALPN support from SSL Plugin by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2464](https://redirect.github.com/javalin/javalin/pull/2464) > * [compression] Add preferred compressors list by [`@fabiobento512`](https://github.com/fabiobento512) in [javalin/javalin#2427](https://redirect.github.com/javalin/javalin/pull/2427) > * Add Zstandard compression support using zstd-jni by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2465](https://redirect.github.com/javalin/javalin/pull/2465) > * Fix Missing Allow Header in HTTP 405 Responses by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2468](https://redirect.github.com/javalin/javalin/pull/2468) > * [sse] Relax Accept header validation to support multiple content types by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2474](https://redirect.github.com/javalin/javalin/pull/2474) > * [routing] Support custom HTTP methods by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2478](https://redirect.github.com/javalin/javalin/pull/2478) > * [tests] Fix flakiness in TestRateLimitUtil by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2477](https://redirect.github.com/javalin/javalin/pull/2477) > * [javalin] Move routing to config by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2479](https://redirect.github.com/javalin/javalin/pull/2479) > * [maven] Refactor modules by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2481](https://redirect.github.com/javalin/javalin/pull/2481) > * [github] Improve copilot-instructions.md with comprehensive Javalin patterns and philosophy by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2483](https://redirect.github.com/javalin/javalin/pull/2483) > * [core] Introduce endpoint stack and utilize endpoints more by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2486](https://redirect.github.com/javalin/javalin/pull/2486) > * [async] Improve async handling by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2489](https://redirect.github.com/javalin/javalin/pull/2489) > * [deps] Upgrade OkHttp to 5.3.0 by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2496](https://redirect.github.com/javalin/javalin/pull/2496) > * [core] Add config option to disable old version check warning by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2499](https://redirect.github.com/javalin/javalin/pull/2499) > * Add static keyword to wsBefore and wsAfter in ApiBuilder by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2501](https://redirect.github.com/javalin/javalin/pull/2501) > * [deps] Update Pebble to 4.0.0 by [`@kamenitxan`](https://github.com/kamenitxan) in [javalin/javalin#2502](https://redirect.github.com/javalin/javalin/pull/2502) > * [workflow]: Bump actions/checkout from 5 to 6 in the dependencies group by [`@dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2503](https://redirect.github.com/javalin/javalin/pull/2503) > * [config] Rework JavalinConfig by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2504](https://redirect.github.com/javalin/javalin/pull/2504) > * [tests] Add missing test cases by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2506](https://redirect.github.com/javalin/javalin/pull/2506) > * [cors] Use JDK's URI class by [`@Playacem`](https://github.com/Playacem) in [javalin/javalin#2180](https://redirect.github.com/javalin/javalin/pull/2180) > * [micrometer] Restore Micrometer plugin for Javalin7/Jetty12 by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2511](https://redirect.github.com/javalin/javalin/pull/2511) > * [json] Fix NoClassDefFoundError for ObjectMapper on Kotlin 2.x by [`@fahrradflucht`](https://github.com/fahrradflucht) in [javalin/javalin#2510](https://redirect.github.com/javalin/javalin/pull/2510) > * Extend Context#redirect to beforeMatched and rename skipIfExceptionOccurred by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2515](https://redirect.github.com/javalin/javalin/pull/2515) > * [routing] Clean up unused interfaces and generics by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2517](https://redirect.github.com/javalin/javalin/pull/2517) ... (truncated) Commits * [`bbe55e5`](javalin/javalin@bbe55e5) [maven-release-plugin] prepare release javalin-parent-7.0.1 * [`f5a4934`](javalin/javalin@f5a4934) [logging] Allow for multiple request loggers ([#2539](https://redirect.github.com/javalin/javalin/issues/2539)) * [`e134377`](javalin/javalin@e134377) [micrometer] Fix interference with user-configured request logger ([#2533](https://redirect.github.com/javalin/javalin/issues/2533)) * [`5b5b2fb`](javalin/javalin@5b5b2fb) [websocket] Fix attributes set in wsBeforeUpgrade not persisting to onConnect * [`d4b8c5b`](javalin/javalin@d4b8c5b) [ratelimitplugin] Fix regression in default key function * [`698995d`](javalin/javalin@698995d) [endpoints] Add option to get the future matched enpoint * [`9c3461f`](javalin/javalin@9c3461f) [docs] Update for v7 * [`6821dea`](javalin/javalin@6821dea) [maven-release-plugin] prepare for next development iteration * [`3e02e28`](javalin/javalin@3e02e28) [maven-release-plugin] prepare release javalin-parent-7.0.0 * [`a02ecb7`](javalin/javalin@a02ecb7) [pom] Publish aggregator poms to fix release deploy * Additional commits viewable in [compare view](javalin/javalin@javalin-parent-6.7.0...javalin-parent-7.0.1) 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) --- Dependabot commands and options 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 show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Plan to relax SSE Accept header validation:
Changes Made
Modified
SseHandler.ktto use.contains()instead of exact equality check:ctx.header(Header.ACCEPT) == "text/event-stream"ctx.header(Header.ACCEPT)?.contains("text/event-stream") == trueRefactored tests in
TestSse.kt:getSseWithAcceptHeader()helper function to reduce code duplicationAll 19 SSE tests passing successfully. Browser tests fail as expected (CI environment issue).
Original prompt
Fixes #2420
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.