docs: public static String getRequestDump(String fromMethod, HttpServletRequest request, boolean includePostData) {
  
          String shortDump = getShortRequestDump(fromMethod, request);
          StringBuilder buf = new StringBuilder(shortDump);
          try {
  
              buf.append("\nAttributes:\n");
              Enumeration<String> attrs = request.getAttributeNames();
              while (attrs.hasMoreElements()) {
                  String attr = attrs.nextElement();
                  buf.append("\t").append(attr).append(": ").append(request.getAttribute(attr)).append('\n');
              }
  
              buf.append("\nHeaders:\n");
              Enumeration<String> headers = request.getHeaderNames();
              while (headers.hasMoreElements()) {
                  String header = headers.nextElement();
                  buf.append("\t").append(header).append(": ").append(request.getHeader(header)).append('\n');
              }
  
              buf.append("\nParameters:\n");
              Enumeration<String> params = request.getParameterNames();
              while (params.hasMoreElements()) {
                  String param = params.nextElement();
                  buf.append("\t").append(param).append(": ").append(request.getParameter(param)).append('\n');
              }
  
              buf.append("\nCookies:\n");
              Cookie[] cookies = request.getCookies();
              if (cookies != null) {
                  for (Cookie cookie : cookies) {
                      String cstr = "\t" + cookie.getDomain() + "." + cookie.getPath() + "." + cookie.getName() + ": " + cookie.getValue() + "\n";
                      buf.append(cstr);
                  }
              }
  
              if (includePostData) {
                  buf.append(getPostDataAsString(request)).append("\n");
              }
  
              return (buf.toString());
  
          } catch (IOException e) {
              return e.getMessage();
          }
      }