All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.mindscapehq.raygun4java.webprovider.RaygunRequestMessage Maven / Gradle / Ivy

package com.mindscapehq.raygun4java.webprovider;

import javax.servlet.http.HttpServletRequest;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.logging.Logger;

public class RaygunRequestMessage {

	private String hostName;
	private String url;
	private String httpMethod;
	private String ipAddress;
	private Map queryString;
	private Map data;
	private Map form;
	private Map headers;
	private String rawData;	
	
	public RaygunRequestMessage(HttpServletRequest request)
	{
    try
    {
		  httpMethod = request.getMethod();
		  ipAddress = request.getRemoteAddr();
		  hostName = request.getRemoteHost();
		  url = request.getRequestURI();
      String qS = request.getQueryString();
      if (qS != null)
      {
        queryString = QueryStringToMap(qS);
      }

      headers = new LinkedHashMap();
      {
        Enumeration e = request.getHeaderNames();
        while (e.hasMoreElements())
        {
          String name = (String)e.nextElement();
          String value = request.getHeader(name).toString();
          headers.put(name, value);
        };
      }

      form = new LinkedHashMap();
      {
        Enumeration e = request.getParameterNames();

        StringBuilder builder;

        while (e.hasMoreElements())
        {
          builder = new StringBuilder();

          String name = (String)e.nextElement();
          String[] values = request.getParameterValues(name);

          for (String s : values)
          {
            builder.append(s).append(";");
          }

          form.put(name, builder.toString());
        }
      }
    }
    catch (NullPointerException e)
    {
      Logger.getLogger("Raygun4Java").info("Couldn't get all request params: " + e.getMessage());
    }
	}
	
	public Map QueryStringToMap(String query)
	{	   
	    String[] params = query.split("&");
	    Map map = new HashMap();
	    for (String param : params)
	    {
	        String name = param.split("=")[0];
	        String value = param.split("=")[1];
	        map.put(name, value);
	    }
	    return map;
	}	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy