Repository navigation
FELIX-6873 : Match ERROR filters against the error servlet path - #582
Merged
Merged
Conversation
ERROR dispatch matched URL-pattern filters against the original request URI. Match them against the paths of the selected error servlet instead, consistent with FORWARD and INCLUDE. An error servlet without a pattern (or with only extension patterns) is only matched by servlet name filters. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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.
Fixes FELIX-6873.
ERROR dispatch matched URL-pattern filters against the original request URI instead of the path of the selected error servlet. This is inconsistent with FORWARD/INCLUDE and with servlet containers.
Change
ServletResponseWrappernow matches ERROR filters against the error servlet's own patterns (/foo/*becomes/foo,/and empty become/).FilterRegistry/PerContextHandlerRegistryget agetFilterHandlers(..., String[])overload; the existing single-URI method delegates to it.Behaviour change: ERROR filters that relied on matching the original request URI no longer match. Worth a release note.
Tests: new
FilterRegistryTest.testErrorFilterMatchesErrorServletPathandServletResponseWrapperTest; fullhttp/basesuite passes (147 tests, JDK 21).🤖 Generated with Claude Code