Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
-
None
-
Moderate
Description
The method within RestSwaggerServlet, looks for the last "/" in the context root, and drops anything after that slash.
private String translateContextPath(HttpServletRequest request) { String path = request.getContextPath(); if (path.isEmpty() || path.equals("/")) { return ""; } else { int idx = path.lastIndexOf("/"); if (idx > 0) { return path.substring(0, idx); } } return path; }
Even though this has been deprecated, it would be good to fix it.
An approach could be to add a servlet init parameter named "translateContextPath" which would default to true, and would work exactly as it does today by default. if set to false, it would return whatever value is in request.getContextPath() , with no translation.
Also, to avoid the NPE thrown, pass in an empty RestConfiguration to RestSwaggerSupport.renderResourceListing()
(See: https://issues.apache.org/jira/browse/CAMEL-12038)
I plan on working on this. Creating a Jira to get feedback on the approach