I've made a GitHub project here which makes it easy to reproduce this bug, it also includes a description.
If I curl to a running Undertow at http://host:port/+/f%20oo it should parse the path parts as {{ ["+", "f oo"] }} but alas it doesn't. Instead, it replaces the {} with a space character. However, if I curl http://host:port/+/foo or curl http://localhost:8434/%2b/f%20oo I see the behaviour I expect, I get ["+", "foo"] and [ "", "f oo"].
According to RFC 3986 section 3.3, a URL path can contain a +. Have you interpreted the RFC in a different manner than I?
- clones
-
JBEAP-14089 (7.1.z) UNDERTOW-1193 - Mixing + and %20 in URL paths befuddles path parsing
- Closed
- is caused by
-
UNDERTOW-1193 Mixing + and %20 in URL paths befuddles path parsing
- Resolved
- is incorporated by
-
JBEAP-13749 [GSS](7.0.z) Upgrade Undertow from 1.3.31 to 1.3.33
- Closed