Package org.apache.catalina.filters
Class RemoteIpFilter.XForwardedRequest
- java.lang.Object
-
- javax.servlet.ServletRequestWrapper
-
- javax.servlet.http.HttpServletRequestWrapper
-
- org.apache.catalina.filters.RemoteIpFilter.XForwardedRequest
-
- All Implemented Interfaces:
HttpServletRequest
,ServletRequest
- Enclosing class:
- RemoteIpFilter
public static class RemoteIpFilter.XForwardedRequest extends HttpServletRequestWrapper
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.String,java.util.List<java.lang.String>>
headers
protected java.lang.String
localName
protected int
localPort
protected java.lang.String
remoteAddr
protected java.lang.String
remoteHost
protected java.lang.String
scheme
protected boolean
secure
protected java.lang.String
serverName
protected int
serverPort
-
Fields inherited from interface javax.servlet.http.HttpServletRequest
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
-
-
Constructor Summary
Constructors Constructor Description XForwardedRequest(HttpServletRequest request)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
getDateHeader(java.lang.String name)
The default behavior of this method is to return getDateHeader(String name) on the wrapped request object.java.lang.String
getHeader(java.lang.String name)
The default behavior of this method is to return getHeader(String name) on the wrapped request object.protected java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>>
getHeaderEntry(java.lang.String name)
java.util.Enumeration<java.lang.String>
getHeaderNames()
The default behavior of this method is to return getHeaderNames() on the wrapped request object.java.util.Enumeration<java.lang.String>
getHeaders(java.lang.String name)
The default behavior of this method is to return getHeaders(String name) on the wrapped request object.int
getIntHeader(java.lang.String name)
The default behavior of this method is to return getIntHeader(String name) on the wrapped request object.java.lang.String
getLocalName()
The default behavior of this method is to return getLocalName() on the wrapped request object.int
getLocalPort()
The default behavior of this method is to return getLocalPort() on the wrapped request object.java.lang.String
getRemoteAddr()
The default behavior of this method is to return getRemoteAddr() on the wrapped request object.java.lang.String
getRemoteHost()
The default behavior of this method is to return getRemoteHost() on the wrapped request object.java.lang.StringBuffer
getRequestURL()
The default behavior of this method is to return getRequestURL() on the wrapped request object.java.lang.String
getScheme()
The default behavior of this method is to return getScheme() on the wrapped request object.java.lang.String
getServerName()
The default behavior of this method is to return getServerName() on the wrapped request object.int
getServerPort()
The default behavior of this method is to return getServerPort() on the wrapped request object.void
removeHeader(java.lang.String name)
void
setHeader(java.lang.String name, java.lang.String value)
void
setLocalName(java.lang.String localName)
void
setLocalPort(int localPort)
void
setRemoteAddr(java.lang.String remoteAddr)
void
setRemoteHost(java.lang.String remoteHost)
void
setScheme(java.lang.String scheme)
void
setSecure(boolean secure)
void
setServerName(java.lang.String serverName)
void
setServerPort(int serverPort)
-
Methods inherited from class javax.servlet.http.HttpServletRequestWrapper
authenticate, changeSessionId, getAuthType, getContextPath, getCookies, getMethod, getPart, getParts, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getServletPath, getSession, getSession, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isUserInRole, login, logout, upgrade
-
Methods inherited from class javax.servlet.ServletRequestWrapper
getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getInputStream, getLocalAddr, getLocale, getLocales, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getReader, getRealPath, getRemotePort, getRequest, getRequestDispatcher, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, isWrapperFor, isWrapperFor, removeAttribute, setAttribute, setCharacterEncoding, setRequest, startAsync, startAsync
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface javax.servlet.ServletRequest
getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getInputStream, getLocalAddr, getLocale, getLocales, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getReader, getRealPath, getRemotePort, getRequestDispatcher, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, removeAttribute, setAttribute, setCharacterEncoding, startAsync, startAsync
-
-
-
-
Field Detail
-
headers
protected final java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers
-
localName
protected java.lang.String localName
-
localPort
protected int localPort
-
remoteAddr
protected java.lang.String remoteAddr
-
remoteHost
protected java.lang.String remoteHost
-
scheme
protected java.lang.String scheme
-
secure
protected boolean secure
-
serverName
protected java.lang.String serverName
-
serverPort
protected int serverPort
-
-
Constructor Detail
-
XForwardedRequest
public XForwardedRequest(HttpServletRequest request)
-
-
Method Detail
-
getDateHeader
public long getDateHeader(java.lang.String name)
Description copied from class:javax.servlet.http.HttpServletRequestWrapper
The default behavior of this method is to return getDateHeader(String name) on the wrapped request object.- Specified by:
getDateHeader
in interfaceHttpServletRequest
- Overrides:
getDateHeader
in classHttpServletRequestWrapper
- Parameters:
name
- aString
specifying the name of the header- Returns:
- a
long
value representing the date specified in the header expressed as the number of milliseconds since January 1, 1970 GMT, or -1 if the named header was not included with the request
-
getHeader
public java.lang.String getHeader(java.lang.String name)
Description copied from class:javax.servlet.http.HttpServletRequestWrapper
The default behavior of this method is to return getHeader(String name) on the wrapped request object.- Specified by:
getHeader
in interfaceHttpServletRequest
- Overrides:
getHeader
in classHttpServletRequestWrapper
- Parameters:
name
- aString
specifying the header name- Returns:
- a
String
containing the value of the requested header, ornull
if the request does not have a header of that name
-
getHeaderEntry
protected java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>> getHeaderEntry(java.lang.String name)
-
getHeaderNames
public java.util.Enumeration<java.lang.String> getHeaderNames()
Description copied from class:javax.servlet.http.HttpServletRequestWrapper
The default behavior of this method is to return getHeaderNames() on the wrapped request object.- Specified by:
getHeaderNames
in interfaceHttpServletRequest
- Overrides:
getHeaderNames
in classHttpServletRequestWrapper
- Returns:
- an enumeration of all the header names sent with this request; if the request has no headers, an empty
enumeration; if the servlet container does not allow servlets to use this method,
null
-
getHeaders
public java.util.Enumeration<java.lang.String> getHeaders(java.lang.String name)
Description copied from class:javax.servlet.http.HttpServletRequestWrapper
The default behavior of this method is to return getHeaders(String name) on the wrapped request object.- Specified by:
getHeaders
in interfaceHttpServletRequest
- Overrides:
getHeaders
in classHttpServletRequestWrapper
- Parameters:
name
- aString
specifying the header name- Returns:
- an
Enumeration
containing the values of the requested header. If the request does not have any headers of that name return an empty enumeration. If the container does not allow access to header information, return null
-
getIntHeader
public int getIntHeader(java.lang.String name)
Description copied from class:javax.servlet.http.HttpServletRequestWrapper
The default behavior of this method is to return getIntHeader(String name) on the wrapped request object.- Specified by:
getIntHeader
in interfaceHttpServletRequest
- Overrides:
getIntHeader
in classHttpServletRequestWrapper
- Parameters:
name
- aString
specifying the name of a request header- Returns:
- an integer expressing the value of the request header or -1 if the request doesn't have a header of this name
-
getLocalName
public java.lang.String getLocalName()
Description copied from class:javax.servlet.ServletRequestWrapper
The default behavior of this method is to return getLocalName() on the wrapped request object.- Specified by:
getLocalName
in interfaceServletRequest
- Overrides:
getLocalName
in classServletRequestWrapper
- Returns:
- a
String
containing the host name of the IP on which the request was received.
-
getLocalPort
public int getLocalPort()
Description copied from class:javax.servlet.ServletRequestWrapper
The default behavior of this method is to return getLocalPort() on the wrapped request object.- Specified by:
getLocalPort
in interfaceServletRequest
- Overrides:
getLocalPort
in classServletRequestWrapper
- Returns:
- an integer specifying the port number
-
getRemoteAddr
public java.lang.String getRemoteAddr()
Description copied from class:javax.servlet.ServletRequestWrapper
The default behavior of this method is to return getRemoteAddr() on the wrapped request object.- Specified by:
getRemoteAddr
in interfaceServletRequest
- Overrides:
getRemoteAddr
in classServletRequestWrapper
- Returns:
- a
String
containing the IP address of the client that sent the request
-
getRemoteHost
public java.lang.String getRemoteHost()
Description copied from class:javax.servlet.ServletRequestWrapper
The default behavior of this method is to return getRemoteHost() on the wrapped request object.- Specified by:
getRemoteHost
in interfaceServletRequest
- Overrides:
getRemoteHost
in classServletRequestWrapper
- Returns:
- a
String
containing the fully qualified name of the client
-
getScheme
public java.lang.String getScheme()
Description copied from class:javax.servlet.ServletRequestWrapper
The default behavior of this method is to return getScheme() on the wrapped request object.- Specified by:
getScheme
in interfaceServletRequest
- Overrides:
getScheme
in classServletRequestWrapper
- Returns:
- a
String
containing the name of the scheme used to make this request
-
getServerName
public java.lang.String getServerName()
Description copied from class:javax.servlet.ServletRequestWrapper
The default behavior of this method is to return getServerName() on the wrapped request object.- Specified by:
getServerName
in interfaceServletRequest
- Overrides:
getServerName
in classServletRequestWrapper
- Returns:
- a
String
containing the name of the server
-
getServerPort
public int getServerPort()
Description copied from class:javax.servlet.ServletRequestWrapper
The default behavior of this method is to return getServerPort() on the wrapped request object.- Specified by:
getServerPort
in interfaceServletRequest
- Overrides:
getServerPort
in classServletRequestWrapper
- Returns:
- an integer specifying the port number
-
removeHeader
public void removeHeader(java.lang.String name)
-
setHeader
public void setHeader(java.lang.String name, java.lang.String value)
-
setLocalName
public void setLocalName(java.lang.String localName)
-
setLocalPort
public void setLocalPort(int localPort)
-
setRemoteAddr
public void setRemoteAddr(java.lang.String remoteAddr)
-
setRemoteHost
public void setRemoteHost(java.lang.String remoteHost)
-
setScheme
public void setScheme(java.lang.String scheme)
-
setSecure
public void setSecure(boolean secure)
-
setServerName
public void setServerName(java.lang.String serverName)
-
setServerPort
public void setServerPort(int serverPort)
-
getRequestURL
public java.lang.StringBuffer getRequestURL()
Description copied from class:javax.servlet.http.HttpServletRequestWrapper
The default behavior of this method is to return getRequestURL() on the wrapped request object.- Specified by:
getRequestURL
in interfaceHttpServletRequest
- Overrides:
getRequestURL
in classHttpServletRequestWrapper
- Returns:
- a
StringBuffer
object containing the reconstructed URL
-
-