Skip to content

Instantly share code, notes, and snippets.

@kntmr
Created February 18, 2017 14:13
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kntmr/8b606302188c0f0aaf5d4365dd501432 to your computer and use it in GitHub Desktop.
Save kntmr/8b606302188c0f0aaf5d4365dd501432 to your computer and use it in GitHub Desktop.
Dump HttpServletRequest
package sample;
import java.util.Collections;
import java.util.Enumeration;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
public class RequestDumpUtil {
private static final String INDENT = "\t";
private static final String LF = "\n";
public static void dumpRequest(StringBuilder sb, HttpServletRequest request) {
sb.append(INDENT).append("[Class] ").append(request.getClass().getName()).append(", instance=" + request.toString().trim()).append(LF);
sb.append(INDENT).append("[RequestedSessionId] ").append(request.getRequestedSessionId()).append(LF);
sb.append(INDENT).append("[RequestURI] ").append(request.getRequestURI()).append(LF);
sb.append(INDENT).append("[ServletPath] ").append(request.getServletPath()).append(LF);
sb.append(INDENT).append("[CharacterEncoding] ").append(request.getCharacterEncoding()).append(LF);
sb.append(INDENT).append("[ContentLength] ").append(request.getContentLength()).append(LF);
sb.append(INDENT).append("[ContentType] ").append(request.getContentType()).append(LF);
sb.append(INDENT).append("[Locale] ").append(request.getLocale()).append(LF);
sb.append(INDENT).append("[Locales] ").append(Collections.list(request.getLocales()).stream().map(loc -> loc.toString()).collect(Collectors.joining(", "))).append(LF);
sb.append(INDENT).append("[Scheme] ").append(request.getScheme()).append(LF);
sb.append(INDENT).append("[isSecure] ").append(request.isSecure()).append(LF);
sb.append(INDENT).append("[Protocol] ").append(request.getProtocol()).append(LF);
sb.append(INDENT).append("[RemoteAddr] ").append(request.getRemoteAddr()).append(LF);
sb.append(INDENT).append("[RemoteHost] ").append(request.getRemoteHost()).append(LF);
sb.append(INDENT).append("[ServerName] ").append(request.getServerName()).append(LF);
sb.append(INDENT).append("[ServerPort] ").append(request.getServerPort()).append(LF);
sb.append(INDENT).append("[ContextPath] ").append(request.getContextPath()).append(LF);
sb.append(INDENT).append("[Method] ").append(request.getMethod()).append(LF);
sb.append(INDENT).append("[QueryString] ").append(request.getQueryString()).append(LF);
sb.append(INDENT).append("[PathInfo] ").append(request.getPathInfo()).append(LF);
sb.append(INDENT).append("[RemoteUser] ").append(request.getRemoteUser()).append(LF);
}
public static void dumpRequestHeader(StringBuilder sb, HttpServletRequest request) {
Enumeration<String> hNames = request.getHeaderNames();
while (hNames.hasMoreElements()) {
String name = hNames.nextElement();
sb.append(INDENT).append("[header] ").append(name).append("=").append(request.getHeader(name)).append(LF);
}
}
public static void dumpRequestParameter(StringBuilder sb, HttpServletRequest request) {
Enumeration<String> pNames = request.getParameterNames();
while (pNames.hasMoreElements()) {
String name = pNames.nextElement();
sb.append(INDENT).append("[param] ").append(name).append("=").append(request.getParameter(name)).append(LF);
}
}
public static void dumpRequestSessionAttribute(StringBuilder sb, HttpServletRequest request) {
HttpSession session = request.getSession();
if (session != null) {
Enumeration<String> aNames = session.getAttributeNames();
while (aNames.hasMoreElements()) {
String name = aNames.nextElement();
sb.append(INDENT).append("[session] ").append(name).append("=").append(session.getAttribute(name)).append(LF);
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment