Details
-
Bug
-
Resolution: Done
-
Minor
-
8.0.0.Final
-
None
Description
I have a bunch of URL tests, executed against EAP 6.2.0 directly and then proxied through mod_cluster 1.2.6. These all pass.
I tried to run the same with Wildfly-8.0.1.Final-SNAPSHOT, HEAD:be3a13e6 with a surprising result of seeing some differences in how are various Request attributes reported from within the servlet:
Here we go,8080 is where either EAP or WFLY listens:
curl 'http://10.16.88.19:8080/clusterbench/requestinfo//?;?=44&test=OK;devil=3&&&&&&&&&&&&&&&&&&&&&&&&&&&&777=666' | |
---|---|
EAP | Parameters map: {test=OK;devil=3, 777=666, ;?=44} |
WFY | Parameters map: {=, 777=666, test=OK;devil=3, ;?=44} |
Note: Parameters map: {key=value, key=value, ..., ...}, so there is like an empty key and and empty value for WFLY....
This is the CommonRequestInfoServlet.java that produced the output.
Map params = request.getParameterMap(); Iterator i = params.keySet().iterator(); while (i.hasNext()) { String key = (String) i.next(); String value = ((String[]) params.get(key))[0]; responseText.append(key); responseText.append("="); responseText.append(value); if (i.hasNext()) responseText.append(", "); }
It is, indeed, possible that these mangled URLs are slipping through the cracks of RFC and should be either "fixed" or URL encoded, yet I find the different interpretations disturbing.