package miso; // Servlet Imports import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; import java.security.Principal; import org.json.simple.JSONObject; import org.apache.commons.lang.StringUtils; public class DispatchedRequest { public static HttpServletRequest request; public static HttpServletResponse response; public static ServletContext context; public DispatchedRequest(HttpServletRequest req, HttpServletResponse resp, ServletContext ctx) { request = req; response = resp; context = ctx; } // Accessor methods for the servlet context, request, and response objects. public ServletContext getCtx() { return context; } public HttpServletRequest getReq() { return request; } public HttpServletResponse getResp() { return response; } // Syntactic sugar for controllers. public boolean isPost() { return request.getMethod() == "POST"; } public boolean isGet() { return request.getMethod() == "GET"; } public String getFormat() { String format = request.getParameter("format"); if (format == null) format = ""; return format; } public HashMap getParams() { HashMap params = new HashMap(); params.putAll(request.getParameterMap()); params.remove("controller"); params.remove("action"); // Convert params from an array of strings to a string. Iterator it = params.keySet().iterator(); while(it.hasNext()) { Object key = it.next(); Object val = params.put(key.toString(), StringUtils.join((String[]) params.get(key), "")); } return params; } public int getID() { int id = 0; try { id = Integer.parseInt((String) request.getParameter("id")); } catch(Throwable e) { } return id; } // Provide a simple interface to a couple requently-used public HttpServletRequest methods. public Object getParameter(String key) { return request.getParameter(key); } public Map getParameterMap() { return request.getParameterMap(); } public Object getAttribute(String key) { return request.getAttribute(key); } public void setAttribute(String key, Object val) { request.setAttribute(key, val); } public Cookie[] getCookies() { return request.getCookies(); } public String getQuerystring() { return request.getQueryString(); } public HttpSession getSession() { return request.getSession(); } public HttpSession getSession(Boolean create) { return request.getSession(create); } // Provide a simple interface to a couple requently-used public HttpServletResponse methods. public void addCookie(Cookie cookie) { response.addCookie(cookie); } public void setStatus(Integer status) { response.setStatus(status); } }