Add onUpgrade method to WebSocket RequestLogger#2450
Conversation
Co-authored-by: tipsy <1521451+tipsy@users.noreply.github.com>
onUpgrade| /** | ||
| * Get the WebSocket upgrade logger, if configured | ||
| */ | ||
| public WsUpgradeLogger getWsUpgradeLogger() { | ||
| return wsUpgradeLogger; | ||
| } |
| /** | ||
| * Add a WsUpgradeLogger to the WsHandler. | ||
| * The handler is called when an HTTP request attempts to upgrade to WebSocket. | ||
| * This is invoked before the upgrade process begins, whether the upgrade succeeds or fails. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #2450 +/- ##
============================================
+ Coverage 86.26% 86.39% +0.13%
- Complexity 1318 1435 +117
============================================
Files 148 148
Lines 4506 4587 +81
Branches 514 490 -24
============================================
+ Hits 3887 3963 +76
- Misses 400 407 +7
+ Partials 219 217 -2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| cfg = servletContextConfig, | ||
| req = req, | ||
| res = res, | ||
| matchedPath = requestUri, |
There was a problem hiding this comment.
This should probably be null, since it didn't match a path.
| req = req, | ||
| res = res, | ||
| matchedPath = requestUri, | ||
| pathParamMap = emptyMap(), |
There was a problem hiding this comment.
Maybe these empty maps could be default args, so the whole statement could be val upgradeContext = JavalinWsServletContext(servletContextConfig, req, res)
| pathParamMap = emptyMap(), | ||
| routeRoles = emptySet(), | ||
| ) | ||
| val executionTimeMs = (System.nanoTime() - requestStartTime) / 1_000_000.0f |
There was a problem hiding this comment.
Could we pull this out to a function? We are using it somewhere else too.
|
@copilot please update your PR based on the review comments. |
Co-authored-by: tipsy <1521451+tipsy@users.noreply.github.com>
I've addressed all the review feedback:
All changes tested and WebSocket tests passing. Commit: 55b0504 |
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://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://github.com/javalin/javalin/pull/2533) > * [logging] Allow for multiple request loggers by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2539](https://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://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://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://github.com/javalin/javalin/pull/2433) > * Bump and rename sslcontext-kickstart to ayza by [`@Hakky54`](https://github.com/Hakky54) in [javalin/javalin#2434](https://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://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://github.com/javalin/javalin/pull/2437) > * [core] Migrate to Jetty 12 by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2444](https://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://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://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://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://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://github.com/javalin/javalin/pull/2456) > * [context] add support for quoted charset in content-type header ([#2448](https://github.com/javalin/javalin/issues/2448)) by [`@Pinusar`](https://github.com/Pinusar) in [javalin/javalin#2449](https://github.com/javalin/javalin/pull/2449) > * Add onUpgrade method to WebSocket RequestLogger by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2450](https://github.com/javalin/javalin/pull/2450) > * Fix cookie handling in JavalinTest client by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2459](https://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://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://github.com/javalin/javalin/pull/2464) > * [compression] Add preferred compressors list by [`@fabiobento512`](https://github.com/fabiobento512) in [javalin/javalin#2427](https://github.com/javalin/javalin/pull/2427) > * Add Zstandard compression support using zstd-jni by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2465](https://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://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://github.com/javalin/javalin/pull/2474) > * [routing] Support custom HTTP methods by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2478](https://github.com/javalin/javalin/pull/2478) > * [tests] Fix flakiness in TestRateLimitUtil by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2477](https://github.com/javalin/javalin/pull/2477) > * [javalin] Move routing to config by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2479](https://github.com/javalin/javalin/pull/2479) > * [maven] Refactor modules by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2481](https://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://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://github.com/javalin/javalin/pull/2486) > * [async] Improve async handling by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2489](https://github.com/javalin/javalin/pull/2489) > * [deps] Upgrade OkHttp to 5.3.0 by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2496](https://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://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://github.com/javalin/javalin/pull/2501) > * [deps] Update Pebble to 4.0.0 by [`@kamenitxan`](https://github.com/kamenitxan) in [javalin/javalin#2502](https://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://github.com/javalin/javalin/pull/2503) > * [config] Rework JavalinConfig by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2504](https://github.com/javalin/javalin/pull/2504) > * [tests] Add missing test cases by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2506](https://github.com/javalin/javalin/pull/2506) > * [cors] Use JDK's URI class by [`@Playacem`](https://github.com/Playacem) in [javalin/javalin#2180](https://github.com/javalin/javalin/pull/2180) > * [micrometer] Restore Micrometer plugin for Javalin7/Jetty12 by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2511](https://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://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://github.com/javalin/javalin/pull/2515) > * [routing] Clean up unused interfaces and generics by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2517](https://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://github.com/javalin/javalin/issues/2539)) * [`e134377`](javalin/javalin@e134377) [micrometer] Fix interference with user-configured request logger ([#2533](https://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://github.com/javalin/javalin-openapi/issues/274) Release 7.0.1 (Resolves [#274](https://github.com/javalin/javalin-openapi/issues/274)) * [`11d10d5`](javalin/javalin-openapi@11d10d5) [GH-273](https://github.com/javalin/javalin-openapi/issues/273) Restructure dependencies (Fixes [#272](https://github.com/javalin/javalin-openapi/issues/272)) * [`41b3061`](javalin/javalin-openapi@41b3061) [GH-271](https://github.com/javalin/javalin-openapi/issues/271) Migration guide from 6.x * [`1669065`](javalin/javalin-openapi@1669065) [GH-271](https://github.com/javalin/javalin-openapi/issues/271) Redesign core implementation for Javalin 7.x * [`0c6ba93`](javalin/javalin-openapi@0c6ba93) [GH-268](https://github.com/javalin/javalin-openapi/issues/268) Replace wiki reference with a new docs in README ([#268](https://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://github.com/javalin/javalin-openapi/issues/264) Drop GitHub Wiki * [`b94bc1f`](javalin/javalin-openapi@b94bc1f) [GH-264](https://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://github.com/javalin/javalin-openapi/issues/274) Release 7.0.1 (Resolves [#274](https://github.com/javalin/javalin-openapi/issues/274)) * [`11d10d5`](javalin/javalin-openapi@11d10d5) [GH-273](https://github.com/javalin/javalin-openapi/issues/273) Restructure dependencies (Fixes [#272](https://github.com/javalin/javalin-openapi/issues/272)) * [`41b3061`](javalin/javalin-openapi@41b3061) [GH-271](https://github.com/javalin/javalin-openapi/issues/271) Migration guide from 6.x * [`1669065`](javalin/javalin-openapi@1669065) [GH-271](https://github.com/javalin/javalin-openapi/issues/271) Redesign core implementation for Javalin 7.x * [`0c6ba93`](javalin/javalin-openapi@0c6ba93) [GH-268](https://github.com/javalin/javalin-openapi/issues/268) Replace wiki reference with a new docs in README ([#268](https://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://github.com/javalin/javalin-openapi/issues/264) Drop GitHub Wiki * [`b94bc1f`](javalin/javalin-openapi@b94bc1f) [GH-264](https://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://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://github.com/javalin/javalin/pull/2533) > * [logging] Allow for multiple request loggers by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2539](https://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://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://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://github.com/javalin/javalin/pull/2433) > * Bump and rename sslcontext-kickstart to ayza by [`@Hakky54`](https://github.com/Hakky54) in [javalin/javalin#2434](https://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://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://github.com/javalin/javalin/pull/2437) > * [core] Migrate to Jetty 12 by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2444](https://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://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://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://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://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://github.com/javalin/javalin/pull/2456) > * [context] add support for quoted charset in content-type header ([#2448](https://github.com/javalin/javalin/issues/2448)) by [`@Pinusar`](https://github.com/Pinusar) in [javalin/javalin#2449](https://github.com/javalin/javalin/pull/2449) > * Add onUpgrade method to WebSocket RequestLogger by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2450](https://github.com/javalin/javalin/pull/2450) > * Fix cookie handling in JavalinTest client by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2459](https://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://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://github.com/javalin/javalin/pull/2464) > * [compression] Add preferred compressors list by [`@fabiobento512`](https://github.com/fabiobento512) in [javalin/javalin#2427](https://github.com/javalin/javalin/pull/2427) > * Add Zstandard compression support using zstd-jni by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2465](https://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://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://github.com/javalin/javalin/pull/2474) > * [routing] Support custom HTTP methods by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2478](https://github.com/javalin/javalin/pull/2478) > * [tests] Fix flakiness in TestRateLimitUtil by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2477](https://github.com/javalin/javalin/pull/2477) > * [javalin] Move routing to config by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2479](https://github.com/javalin/javalin/pull/2479) > * [maven] Refactor modules by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2481](https://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://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://github.com/javalin/javalin/pull/2486) > * [async] Improve async handling by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2489](https://github.com/javalin/javalin/pull/2489) > * [deps] Upgrade OkHttp to 5.3.0 by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2496](https://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://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://github.com/javalin/javalin/pull/2501) > * [deps] Update Pebble to 4.0.0 by [`@kamenitxan`](https://github.com/kamenitxan) in [javalin/javalin#2502](https://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://github.com/javalin/javalin/pull/2503) > * [config] Rework JavalinConfig by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2504](https://github.com/javalin/javalin/pull/2504) > * [tests] Add missing test cases by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2506](https://github.com/javalin/javalin/pull/2506) > * [cors] Use JDK's URI class by [`@Playacem`](https://github.com/Playacem) in [javalin/javalin#2180](https://github.com/javalin/javalin/pull/2180) > * [micrometer] Restore Micrometer plugin for Javalin7/Jetty12 by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2511](https://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://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://github.com/javalin/javalin/pull/2515) > * [routing] Clean up unused interfaces and generics by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2517](https://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://github.com/javalin/javalin/issues/2539)) * [`e134377`](javalin/javalin@e134377) [micrometer] Fix interference with user-configured request logger ([#2533](https://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://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://github.com/javalin/javalin/pull/2533) > * [logging] Allow for multiple request loggers by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2539](https://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://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://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://github.com/javalin/javalin/pull/2433) > * Bump and rename sslcontext-kickstart to ayza by [`@Hakky54`](https://github.com/Hakky54) in [javalin/javalin#2434](https://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://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://github.com/javalin/javalin/pull/2437) > * [core] Migrate to Jetty 12 by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2444](https://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://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://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://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://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://github.com/javalin/javalin/pull/2456) > * [context] add support for quoted charset in content-type header ([#2448](https://github.com/javalin/javalin/issues/2448)) by [`@Pinusar`](https://github.com/Pinusar) in [javalin/javalin#2449](https://github.com/javalin/javalin/pull/2449) > * Add onUpgrade method to WebSocket RequestLogger by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2450](https://github.com/javalin/javalin/pull/2450) > * Fix cookie handling in JavalinTest client by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2459](https://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://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://github.com/javalin/javalin/pull/2464) > * [compression] Add preferred compressors list by [`@fabiobento512`](https://github.com/fabiobento512) in [javalin/javalin#2427](https://github.com/javalin/javalin/pull/2427) > * Add Zstandard compression support using zstd-jni by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2465](https://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://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://github.com/javalin/javalin/pull/2474) > * [routing] Support custom HTTP methods by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2478](https://github.com/javalin/javalin/pull/2478) > * [tests] Fix flakiness in TestRateLimitUtil by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2477](https://github.com/javalin/javalin/pull/2477) > * [javalin] Move routing to config by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2479](https://github.com/javalin/javalin/pull/2479) > * [maven] Refactor modules by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2481](https://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://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://github.com/javalin/javalin/pull/2486) > * [async] Improve async handling by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2489](https://github.com/javalin/javalin/pull/2489) > * [deps] Upgrade OkHttp to 5.3.0 by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2496](https://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://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://github.com/javalin/javalin/pull/2501) > * [deps] Update Pebble to 4.0.0 by [`@kamenitxan`](https://github.com/kamenitxan) in [javalin/javalin#2502](https://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://github.com/javalin/javalin/pull/2503) > * [config] Rework JavalinConfig by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2504](https://github.com/javalin/javalin/pull/2504) > * [tests] Add missing test cases by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2506](https://github.com/javalin/javalin/pull/2506) > * [cors] Use JDK's URI class by [`@Playacem`](https://github.com/Playacem) in [javalin/javalin#2180](https://github.com/javalin/javalin/pull/2180) > * [micrometer] Restore Micrometer plugin for Javalin7/Jetty12 by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2511](https://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://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://github.com/javalin/javalin/pull/2515) > * [routing] Clean up unused interfaces and generics by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2517](https://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://github.com/javalin/javalin/issues/2539)) * [`e134377`](javalin/javalin@e134377) [micrometer] Fix interference with user-configured request logger ([#2533](https://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)
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.