-
-
Notifications
You must be signed in to change notification settings - Fork 751
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Register websocket endpoints for /mapping/ for /mapping/* servlets #2326
base: master-deprecated
Are you sure you want to change the base?
Conversation
…vlets" This reverts commit 14367ba.
Previously for a servlet mapped using /mapping/*, there were mappings done for: * /mapping * /mapping/{path1} * /mapping/{path1}/{path2} etc which do not match /mapping/ Tomcat disallows registering websocket endpoints using a trailing slash, except for /servletMapping/. According to the code this is because "As per EG discussion, all other empty segments are invalid"
Interesting... in what way as / or /servlet/ should be valid mappings? |
@Artur- Actually do you have a test/app I can play with that fail to deploy properly? The issue here is we may need to bump the release to |
Have not tested with atmosphere samples but I guess if you deploy a servlet to /* and try to use / for the websocket connection, it won’t work |
Static analizer in IntelliJ IDEA found that regexp for cleaning servlet path contains unclosed character class:
@Artur- you can try to use this fixed pattern: private final static Pattern SERVLET_PATH_PATTERN = Pattern.compile("([/]?[a-zA-Z_0-9.]+?|[/]\\*\\*)+"); Does this solve your issue? |
@Artur- ping |
The core problem: Deploying a servlet using "/*" should deploy a websocket endpoint at |
But where does this requirement come from?
This means that, as a minimum, there is no difference beetwen |
JSR356AsyncSupport.java:
For Might be that a |
Another attempt for #2316
Only adds a root mapping for the servlet and not the unsupported
/{path1}/{path2}/
type paths