/* * Copyright 2001-2008 Joe Walker <joe[remove] at getahead dot ltd dot uk> and * Geert Bevin (gbevin[remove] at uwyn dot com) * Licensed under the Apache License, Version 2.0 (the "License") * $Id: DwrElementHttpServletRequest.java 3943 2008-04-27 09:09:02Z gbevin $ */ package com.uwyn.rife.engine.elements; import com.uwyn.rife.engine.ElementSupport; import com.uwyn.rife.tools.StringUtils; import java.io.BufferedReader; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.security.Principal; import java.util.Enumeration; import java.util.Locale; import java.util.Map; import javax.servlet.RequestDispatcher; import javax.servlet.ServletInputStream; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; /** * This is an implementation of <code>HttpServletRequest</code> so that DWR * can easily be integrated into RIFE. Data that is sent and retrieved is only * done through DWR and thus doesn't create a security hole. The main purpose * is for the URLs to be relocatable * * @author Joe Walker (joe[remove] at getahead dot ltd dot uk) * @author Geert Bevin (gbevin[remove] at uwyn dot com) */ final class DwrElementHttpServletRequest implements HttpServletRequest { private ElementSupport mSupport; private HttpServletRequest mRequest; DwrElementHttpServletRequest(ElementSupport support) { mSupport = support; mRequest = support.getHttpServletRequest(); } public String getPathInfo() { return mSupport.getPathInfo(); } public String getPathTranslated() { return mRequest.getPathTranslated(); } public String getContextPath() { return StringUtils.stripFromEnd(mSupport.getWebappRootUrl(), "/"); } public String getRequestURI() { return mRequest.getRequestURI(); } public StringBuffer getRequestURL() { return mRequest.getRequestURL(); } public String getRealPath(String arg0) { return mRequest.getRealPath(arg0); } public String getServletPath() { return mSupport.getElementInfo().getUrl(); } public String getContentType() { return mSupport.getContentType(); } public String getProtocol() { return mSupport.getProtocol(); } public String getScheme() { return mSupport.getScheme(); } public String getServerName() { return mSupport.getServerName(); } public int getServerPort() { return mSupport.getServerPort(); } public String getRemoteAddr() { return mSupport.getRemoteAddr(); } public String getRemoteHost() { return mSupport.getRemoteHost(); } public String getAuthType() { return mRequest.getAuthType(); } public Cookie[] getCookies() { return mRequest.getCookies(); } public long getDateHeader(String name) { return mRequest.getDateHeader(name); } public String getHeader(String name) { return mRequest.getHeader(name); } public Enumeration getHeaders(String name) { return mRequest.getHeaders(name); } public Enumeration getHeaderNames() { return mRequest.getHeaderNames(); } public int getIntHeader(String name) { return mRequest.getIntHeader(name); } public String getMethod() { return mRequest.getMethod(); } public String getQueryString() { return mRequest.getQueryString(); } public String getRemoteUser() { return mRequest.getRemoteUser(); } public boolean isUserInRole(String arg0) { return mRequest.isUserInRole(arg0); } public Principal getUserPrincipal() { return mRequest.getUserPrincipal(); } public String getRequestedSessionId() { return mRequest.getRequestedSessionId(); } public HttpSession getSession(boolean arg0) { return mRequest.getSession(arg0); } public HttpSession getSession() { return mRequest.getSession(); } public boolean isRequestedSessionIdValid() { return mRequest.isRequestedSessionIdValid(); } public boolean isRequestedSessionIdFromCookie() { return mRequest.isRequestedSessionIdFromCookie(); } public boolean isRequestedSessionIdFromURL() { return mRequest.isRequestedSessionIdFromURL(); } public boolean isRequestedSessionIdFromUrl() { return mRequest.isRequestedSessionIdFromUrl(); } public Object getAttribute(String name) { return mRequest.getAttribute(name); } public Enumeration getAttributeNames() { return mRequest.getAttributeNames(); } public String getCharacterEncoding() { return mRequest.getCharacterEncoding(); } public void setCharacterEncoding(String arg0) throws UnsupportedEncodingException { mRequest.setCharacterEncoding(arg0); } public int getContentLength() { return mRequest.getContentLength(); } public ServletInputStream getInputStream() throws IOException { return mRequest.getInputStream(); } public String getParameter(String name) { return mRequest.getParameter(name); } public Enumeration getParameterNames() { return mRequest.getParameterNames(); } public String[] getParameterValues(String name) { return mRequest.getParameterValues(name); } public Map getParameterMap() { return mRequest.getParameterMap(); } public BufferedReader getReader() throws IOException { return mRequest.getReader(); } public void setAttribute(String name, Object object) { mRequest.setAttribute(name, object); } public void removeAttribute(String name) { mRequest.removeAttribute(name); } public Locale getLocale() { return mRequest.getLocale(); } public Enumeration getLocales() { return mRequest.getLocales(); } public boolean isSecure() { return mRequest.isSecure(); } public RequestDispatcher getRequestDispatcher(String arg0) { return mRequest.getRequestDispatcher(arg0); } public int getRemotePort() { return mRequest.getRemotePort(); } public String getLocalName() { return mRequest.getLocalName(); } public String getLocalAddr() { return mRequest.getLocalAddr(); } public int getLocalPort() { return mRequest.getLocalPort(); } }