Prevent empty json for parameters in trace endpoint

Fixes gh-8883
This commit is contained in:
Madhura Bhave
2017-04-11 15:08:17 -07:00
parent 404bb2d171
commit b2f0ebfcb8
2 changed files with 23 additions and 1 deletions

View File

@@ -132,7 +132,7 @@ public class WebRequestTraceFilter extends OncePerRequestFilter implements Order
add(trace, Include.USER_PRINCIPAL, "userPrincipal",
(userPrincipal == null ? null : userPrincipal.getName()));
if (isIncluded(Include.PARAMETERS)) {
trace.put("parameters", request.getParameterMap());
trace.put("parameters", getParameterMap(request));
}
add(trace, Include.QUERY_STRING, "query", request.getQueryString());
add(trace, Include.AUTH_TYPE, "authType", request.getAuthType());
@@ -170,6 +170,12 @@ public class WebRequestTraceFilter extends OncePerRequestFilter implements Order
return headers;
}
private Map<String, String[]> getParameterMap(HttpServletRequest request) {
Map<String, String[]> map = new LinkedHashMap<String, String[]>();
map.putAll(request.getParameterMap());
return map;
}
/**
* Post process request headers before they are added to the trace.
* @param headers a mutable map containing the request headers to trace