Class DemuxRequest
- java.lang.Object
-
- de.aristaflow.adept2.base.servletcontainer.demux.DemuxRequest
-
- All Implemented Interfaces:
javax.servlet.http.HttpServletRequest
,javax.servlet.ServletRequest
public class DemuxRequest extends Object implements javax.servlet.http.HttpServletRequest
ADemuxRequest
wraps aHttpServletRequest
and adapts its paths. This is required to demultiplex the request properly, i. e. the paths valid for theDemuxServlet
need to be adapted for the inner servlets so that theDemuxServlet
becomes invisible for them. This is done by "moving" the servlet path of theDemuxServlet
to the context path and "moving" the path of the inner servlet (more or less its mapping) from the path info to the servlet path.
Also the servlet context is being changed. All other methods simply forward to the parent request.- See Also:
getServletContext()
,getPathInfo()
,getContextPath()
,getServletPath()
-
-
Field Summary
Fields Modifier and Type Field Description protected String
demuxContextPath
The context path of the demultiplexing servlet.protected javax.servlet.ServletContext
dsc
The (deferred) servlet context.protected javax.servlet.http.HttpServletRequest
parent
The (wrapped) parent request (of the outerDemuxServlet
).protected String
pathInfo
The path info the inner servlet.protected String
servletPath
The servlet path of the inner servlet.
-
Constructor Summary
Constructors Modifier Constructor Description protected
DemuxRequest(javax.servlet.ServletContext dsc, String demuxContextPath, String servletPath, javax.servlet.http.HttpServletRequest parent)
Creates a new request handled by aDemuxServlet
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
authenticate(javax.servlet.http.HttpServletResponse response)
String
changeSessionId()
javax.servlet.AsyncContext
getAsyncContext()
Object
getAttribute(String name)
Enumeration<String>
getAttributeNames()
String
getAuthType()
String
getCharacterEncoding()
int
getContentLength()
long
getContentLengthLong()
String
getContentType()
String
getContextPath()
Gets the context for the inner servlet adapted from the context path of theDemuxServlet
handling this request.javax.servlet.http.Cookie[]
getCookies()
long
getDateHeader(String name)
javax.servlet.DispatcherType
getDispatcherType()
String
getHeader(String name)
Enumeration<String>
getHeaderNames()
Enumeration<String>
getHeaders(String name)
javax.servlet.ServletInputStream
getInputStream()
int
getIntHeader(String name)
String
getLocalAddr()
Locale
getLocale()
Enumeration<Locale>
getLocales()
String
getLocalName()
int
getLocalPort()
String
getMethod()
String
getParameter(String name)
Map<String,String[]>
getParameterMap()
Enumeration<String>
getParameterNames()
String[]
getParameterValues(String name)
javax.servlet.http.Part
getPart(String name)
Collection<javax.servlet.http.Part>
getParts()
String
getPathInfo()
Gets the path info for the inner servlet adapted from the path info of theDemuxServlet
handling this request.String
getPathTranslated()
String
getProtocol()
String
getQueryString()
BufferedReader
getReader()
String
getRealPath(String path)
String
getRemoteAddr()
String
getRemoteHost()
int
getRemotePort()
String
getRemoteUser()
javax.servlet.RequestDispatcher
getRequestDispatcher(String path)
String
getRequestedSessionId()
String
getRequestURI()
StringBuffer
getRequestURL()
String
getScheme()
String
getServerName()
int
getServerPort()
javax.servlet.ServletContext
getServletContext()
Gets theDeferredServletContext
of theDemuxServlet
handling this request.String
getServletPath()
Gets the servlet path for the inner servlet adapted from the servlet path of theDemuxServlet
handling this request.javax.servlet.http.HttpSession
getSession()
javax.servlet.http.HttpSession
getSession(boolean create)
Principal
getUserPrincipal()
boolean
isAsyncStarted()
boolean
isAsyncSupported()
boolean
isRequestedSessionIdFromCookie()
boolean
isRequestedSessionIdFromUrl()
boolean
isRequestedSessionIdFromURL()
boolean
isRequestedSessionIdValid()
boolean
isSecure()
boolean
isUserInRole(String role)
void
login(String username, String password)
void
logout()
void
removeAttribute(String name)
void
setAttribute(String name, Object o)
void
setCharacterEncoding(String env)
javax.servlet.AsyncContext
startAsync()
javax.servlet.AsyncContext
startAsync(javax.servlet.ServletRequest servletRequest, javax.servlet.ServletResponse servletResponse)
<T extends javax.servlet.http.HttpUpgradeHandler>
Tupgrade(Class<T> handlerClass)
-
-
-
Field Detail
-
dsc
protected final javax.servlet.ServletContext dsc
The (deferred) servlet context.
-
demuxContextPath
protected final String demuxContextPath
The context path of the demultiplexing servlet.
-
servletPath
protected final String servletPath
The servlet path of the inner servlet.
-
pathInfo
protected final String pathInfo
The path info the inner servlet.
-
parent
protected final javax.servlet.http.HttpServletRequest parent
The (wrapped) parent request (of the outerDemuxServlet
).
-
-
Constructor Detail
-
DemuxRequest
protected DemuxRequest(javax.servlet.ServletContext dsc, String demuxContextPath, String servletPath, javax.servlet.http.HttpServletRequest parent)
Creates a new request handled by aDemuxServlet
. This adapts the servlet context and the paths of the designated parent request appropriately for theDemuxServlet
.- Parameters:
dsc
- The (deferred) servlet context.demuxContextPath
- The context path of the demultiplexing servlet.servletPath
- The servlet path of the inner servlet.parent
- The (wrapped) parent request (of the outerDemuxServlet
)
-
-
Method Detail
-
getAttribute
public Object getAttribute(String name)
- Specified by:
getAttribute
in interfacejavax.servlet.ServletRequest
-
getAttributeNames
public Enumeration<String> getAttributeNames()
- Specified by:
getAttributeNames
in interfacejavax.servlet.ServletRequest
-
getCharacterEncoding
public String getCharacterEncoding()
- Specified by:
getCharacterEncoding
in interfacejavax.servlet.ServletRequest
-
setCharacterEncoding
public void setCharacterEncoding(String env) throws UnsupportedEncodingException
- Specified by:
setCharacterEncoding
in interfacejavax.servlet.ServletRequest
- Throws:
UnsupportedEncodingException
-
getContentLength
public int getContentLength()
- Specified by:
getContentLength
in interfacejavax.servlet.ServletRequest
-
getContentLengthLong
public long getContentLengthLong()
- Specified by:
getContentLengthLong
in interfacejavax.servlet.ServletRequest
-
getContentType
public String getContentType()
- Specified by:
getContentType
in interfacejavax.servlet.ServletRequest
-
getInputStream
public javax.servlet.ServletInputStream getInputStream() throws IOException
- Specified by:
getInputStream
in interfacejavax.servlet.ServletRequest
- Throws:
IOException
-
getParameter
public String getParameter(String name)
- Specified by:
getParameter
in interfacejavax.servlet.ServletRequest
-
getParameterNames
public Enumeration<String> getParameterNames()
- Specified by:
getParameterNames
in interfacejavax.servlet.ServletRequest
-
getParameterValues
public String[] getParameterValues(String name)
- Specified by:
getParameterValues
in interfacejavax.servlet.ServletRequest
-
getParameterMap
public Map<String,String[]> getParameterMap()
- Specified by:
getParameterMap
in interfacejavax.servlet.ServletRequest
-
getProtocol
public String getProtocol()
- Specified by:
getProtocol
in interfacejavax.servlet.ServletRequest
-
getScheme
public String getScheme()
- Specified by:
getScheme
in interfacejavax.servlet.ServletRequest
-
getServerName
public String getServerName()
- Specified by:
getServerName
in interfacejavax.servlet.ServletRequest
-
getServerPort
public int getServerPort()
- Specified by:
getServerPort
in interfacejavax.servlet.ServletRequest
-
getReader
public BufferedReader getReader() throws IOException
- Specified by:
getReader
in interfacejavax.servlet.ServletRequest
- Throws:
IOException
-
getRemoteAddr
public String getRemoteAddr()
- Specified by:
getRemoteAddr
in interfacejavax.servlet.ServletRequest
-
getRemoteHost
public String getRemoteHost()
- Specified by:
getRemoteHost
in interfacejavax.servlet.ServletRequest
-
setAttribute
public void setAttribute(String name, Object o)
- Specified by:
setAttribute
in interfacejavax.servlet.ServletRequest
-
removeAttribute
public void removeAttribute(String name)
- Specified by:
removeAttribute
in interfacejavax.servlet.ServletRequest
-
getLocale
public Locale getLocale()
- Specified by:
getLocale
in interfacejavax.servlet.ServletRequest
-
getLocales
public Enumeration<Locale> getLocales()
- Specified by:
getLocales
in interfacejavax.servlet.ServletRequest
-
isSecure
public boolean isSecure()
- Specified by:
isSecure
in interfacejavax.servlet.ServletRequest
-
getRequestDispatcher
public javax.servlet.RequestDispatcher getRequestDispatcher(String path)
- Specified by:
getRequestDispatcher
in interfacejavax.servlet.ServletRequest
-
getRealPath
public String getRealPath(String path)
- Specified by:
getRealPath
in interfacejavax.servlet.ServletRequest
-
getRemotePort
public int getRemotePort()
- Specified by:
getRemotePort
in interfacejavax.servlet.ServletRequest
-
getLocalName
public String getLocalName()
- Specified by:
getLocalName
in interfacejavax.servlet.ServletRequest
-
getLocalAddr
public String getLocalAddr()
- Specified by:
getLocalAddr
in interfacejavax.servlet.ServletRequest
-
getLocalPort
public int getLocalPort()
- Specified by:
getLocalPort
in interfacejavax.servlet.ServletRequest
-
getServletContext
public javax.servlet.ServletContext getServletContext()
Gets theDeferredServletContext
of theDemuxServlet
handling this request.- Specified by:
getServletContext
in interfacejavax.servlet.ServletRequest
-
startAsync
public javax.servlet.AsyncContext startAsync() throws IllegalStateException
- Specified by:
startAsync
in interfacejavax.servlet.ServletRequest
- Throws:
IllegalStateException
-
startAsync
public javax.servlet.AsyncContext startAsync(javax.servlet.ServletRequest servletRequest, javax.servlet.ServletResponse servletResponse) throws IllegalStateException
- Specified by:
startAsync
in interfacejavax.servlet.ServletRequest
- Throws:
IllegalStateException
-
isAsyncStarted
public boolean isAsyncStarted()
- Specified by:
isAsyncStarted
in interfacejavax.servlet.ServletRequest
-
isAsyncSupported
public boolean isAsyncSupported()
- Specified by:
isAsyncSupported
in interfacejavax.servlet.ServletRequest
-
getAsyncContext
public javax.servlet.AsyncContext getAsyncContext()
- Specified by:
getAsyncContext
in interfacejavax.servlet.ServletRequest
-
getDispatcherType
public javax.servlet.DispatcherType getDispatcherType()
- Specified by:
getDispatcherType
in interfacejavax.servlet.ServletRequest
-
getAuthType
public String getAuthType()
- Specified by:
getAuthType
in interfacejavax.servlet.http.HttpServletRequest
-
getCookies
public javax.servlet.http.Cookie[] getCookies()
- Specified by:
getCookies
in interfacejavax.servlet.http.HttpServletRequest
-
getDateHeader
public long getDateHeader(String name)
- Specified by:
getDateHeader
in interfacejavax.servlet.http.HttpServletRequest
-
getHeader
public String getHeader(String name)
- Specified by:
getHeader
in interfacejavax.servlet.http.HttpServletRequest
-
getHeaders
public Enumeration<String> getHeaders(String name)
- Specified by:
getHeaders
in interfacejavax.servlet.http.HttpServletRequest
-
getHeaderNames
public Enumeration<String> getHeaderNames()
- Specified by:
getHeaderNames
in interfacejavax.servlet.http.HttpServletRequest
-
getIntHeader
public int getIntHeader(String name)
- Specified by:
getIntHeader
in interfacejavax.servlet.http.HttpServletRequest
-
getMethod
public String getMethod()
- Specified by:
getMethod
in interfacejavax.servlet.http.HttpServletRequest
-
getPathInfo
public String getPathInfo()
Gets the path info for the inner servlet adapted from the path info of theDemuxServlet
handling this request.- Specified by:
getPathInfo
in interfacejavax.servlet.http.HttpServletRequest
-
getPathTranslated
public String getPathTranslated()
- Specified by:
getPathTranslated
in interfacejavax.servlet.http.HttpServletRequest
-
getContextPath
public String getContextPath()
Gets the context for the inner servlet adapted from the context path of theDemuxServlet
handling this request.- Specified by:
getContextPath
in interfacejavax.servlet.http.HttpServletRequest
-
getQueryString
public String getQueryString()
- Specified by:
getQueryString
in interfacejavax.servlet.http.HttpServletRequest
-
getRemoteUser
public String getRemoteUser()
- Specified by:
getRemoteUser
in interfacejavax.servlet.http.HttpServletRequest
-
isUserInRole
public boolean isUserInRole(String role)
- Specified by:
isUserInRole
in interfacejavax.servlet.http.HttpServletRequest
-
getUserPrincipal
public Principal getUserPrincipal()
- Specified by:
getUserPrincipal
in interfacejavax.servlet.http.HttpServletRequest
-
getRequestedSessionId
public String getRequestedSessionId()
- Specified by:
getRequestedSessionId
in interfacejavax.servlet.http.HttpServletRequest
-
getRequestURI
public String getRequestURI()
- Specified by:
getRequestURI
in interfacejavax.servlet.http.HttpServletRequest
-
getRequestURL
public StringBuffer getRequestURL()
- Specified by:
getRequestURL
in interfacejavax.servlet.http.HttpServletRequest
-
getServletPath
public String getServletPath()
Gets the servlet path for the inner servlet adapted from the servlet path of theDemuxServlet
handling this request.- Specified by:
getServletPath
in interfacejavax.servlet.http.HttpServletRequest
-
getSession
public javax.servlet.http.HttpSession getSession(boolean create)
- Specified by:
getSession
in interfacejavax.servlet.http.HttpServletRequest
-
getSession
public javax.servlet.http.HttpSession getSession()
- Specified by:
getSession
in interfacejavax.servlet.http.HttpServletRequest
-
changeSessionId
public String changeSessionId()
- Specified by:
changeSessionId
in interfacejavax.servlet.http.HttpServletRequest
-
isRequestedSessionIdValid
public boolean isRequestedSessionIdValid()
- Specified by:
isRequestedSessionIdValid
in interfacejavax.servlet.http.HttpServletRequest
-
isRequestedSessionIdFromCookie
public boolean isRequestedSessionIdFromCookie()
- Specified by:
isRequestedSessionIdFromCookie
in interfacejavax.servlet.http.HttpServletRequest
-
isRequestedSessionIdFromURL
public boolean isRequestedSessionIdFromURL()
- Specified by:
isRequestedSessionIdFromURL
in interfacejavax.servlet.http.HttpServletRequest
-
isRequestedSessionIdFromUrl
public boolean isRequestedSessionIdFromUrl()
- Specified by:
isRequestedSessionIdFromUrl
in interfacejavax.servlet.http.HttpServletRequest
-
authenticate
public boolean authenticate(javax.servlet.http.HttpServletResponse response) throws IOException, javax.servlet.ServletException
- Specified by:
authenticate
in interfacejavax.servlet.http.HttpServletRequest
- Throws:
IOException
javax.servlet.ServletException
-
login
public void login(String username, String password) throws javax.servlet.ServletException
- Specified by:
login
in interfacejavax.servlet.http.HttpServletRequest
- Throws:
javax.servlet.ServletException
-
logout
public void logout() throws javax.servlet.ServletException
- Specified by:
logout
in interfacejavax.servlet.http.HttpServletRequest
- Throws:
javax.servlet.ServletException
-
getParts
public Collection<javax.servlet.http.Part> getParts() throws IOException, javax.servlet.ServletException
- Specified by:
getParts
in interfacejavax.servlet.http.HttpServletRequest
- Throws:
IOException
javax.servlet.ServletException
-
getPart
public javax.servlet.http.Part getPart(String name) throws IOException, javax.servlet.ServletException
- Specified by:
getPart
in interfacejavax.servlet.http.HttpServletRequest
- Throws:
IOException
javax.servlet.ServletException
-
upgrade
public <T extends javax.servlet.http.HttpUpgradeHandler> T upgrade(Class<T> handlerClass) throws IOException, javax.servlet.ServletException
- Specified by:
upgrade
in interfacejavax.servlet.http.HttpServletRequest
- Throws:
IOException
javax.servlet.ServletException
-
-