Package org.apache.catalina.filters
Class RemoteIpFilter.XForwardedRequest
- java.lang.Object
-
- jakarta.servlet.ServletRequestWrapper
-
- jakarta.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 Map<String,List<String>>headersprotected StringlocalNameprotected intlocalPortprotected StringremoteAddrprotected StringremoteHostprotected Stringschemeprotected booleansecureprotected StringserverNameprotected intserverPort-
Fields inherited from interface jakarta.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 longgetDateHeader(String name)The default behavior of this method is to return getDateHeader(String name) on the wrapped request object.StringgetHeader(String name)The default behavior of this method is to return getHeader(String name) on the wrapped request object.protected Map.Entry<String,List<String>>getHeaderEntry(String name)Enumeration<String>getHeaderNames()The default behavior of this method is to return getHeaderNames() on the wrapped request object.Enumeration<String>getHeaders(String name)The default behavior of this method is to return getHeaders(String name) on the wrapped request object.intgetIntHeader(String name)The default behavior of this method is to return getIntHeader(String name) on the wrapped request object.StringgetLocalName()The default behavior of this method is to return getLocalName() on the wrapped request object.intgetLocalPort()The default behavior of this method is to return getLocalPort() on the wrapped request object.StringgetRemoteAddr()The default behavior of this method is to return getRemoteAddr() on the wrapped request object.StringgetRemoteHost()The default behavior of this method is to return getRemoteHost() on the wrapped request object.StringBuffergetRequestURL()The default behavior of this method is to return getRequestURL() on the wrapped request object.StringgetScheme()The default behavior of this method is to return getScheme() on the wrapped request object.StringgetServerName()The default behavior of this method is to return getServerName() on the wrapped request object.intgetServerPort()The default behavior of this method is to return getServerPort() on the wrapped request object.PushBuildernewPushBuilder()Obtain a builder for generating push requests.voidremoveHeader(String name)voidsetHeader(String name, String value)voidsetLocalName(String localName)voidsetLocalPort(int localPort)voidsetRemoteAddr(String remoteAddr)voidsetRemoteHost(String remoteHost)voidsetScheme(String scheme)voidsetSecure(boolean secure)voidsetServerName(String serverName)voidsetServerPort(int serverPort)-
Methods inherited from class jakarta.servlet.http.HttpServletRequestWrapper
authenticate, changeSessionId, getAuthType, getContextPath, getCookies, getHttpServletMapping, getMethod, getPart, getParts, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getServletPath, getSession, getSession, getTrailerFields, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isTrailerFieldsReady, isUserInRole, login, logout, upgrade
-
Methods inherited from class jakarta.servlet.ServletRequestWrapper
getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getInputStream, getLocalAddr, getLocale, getLocales, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getProtocolRequestId, getReader, getRemotePort, getRequest, getRequestDispatcher, getRequestId, getServletConnection, 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 jakarta.servlet.ServletRequest
getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getInputStream, getLocalAddr, getLocale, getLocales, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getProtocolRequestId, getReader, getRemotePort, getRequestDispatcher, getRequestId, getServletConnection, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, removeAttribute, setAttribute, setCharacterEncoding, startAsync, startAsync
-
-
-
-
Constructor Detail
-
XForwardedRequest
public XForwardedRequest(HttpServletRequest request)
-
-
Method Detail
-
getDateHeader
public long getDateHeader(String name)
Description copied from class:jakarta.servlet.http.HttpServletRequestWrapperThe default behavior of this method is to return getDateHeader(String name) on the wrapped request object.- Specified by:
getDateHeaderin interfaceHttpServletRequest- Overrides:
getDateHeaderin classHttpServletRequestWrapper- Parameters:
name- aStringspecifying the name of the header- Returns:
- a
longvalue 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 String getHeader(String name)
Description copied from class:jakarta.servlet.http.HttpServletRequestWrapperThe default behavior of this method is to return getHeader(String name) on the wrapped request object.- Specified by:
getHeaderin interfaceHttpServletRequest- Overrides:
getHeaderin classHttpServletRequestWrapper- Parameters:
name- aStringspecifying the header name- Returns:
- a
Stringcontaining the value of the requested header, ornullif the request does not have a header of that name
-
getHeaderNames
public Enumeration<String> getHeaderNames()
Description copied from class:jakarta.servlet.http.HttpServletRequestWrapperThe default behavior of this method is to return getHeaderNames() on the wrapped request object.- Specified by:
getHeaderNamesin interfaceHttpServletRequest- Overrides:
getHeaderNamesin 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 Enumeration<String> getHeaders(String name)
Description copied from class:jakarta.servlet.http.HttpServletRequestWrapperThe default behavior of this method is to return getHeaders(String name) on the wrapped request object.- Specified by:
getHeadersin interfaceHttpServletRequest- Overrides:
getHeadersin classHttpServletRequestWrapper- Parameters:
name- aStringspecifying the header name- Returns:
- an
Enumerationcontaining 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(String name)
Description copied from class:jakarta.servlet.http.HttpServletRequestWrapperThe default behavior of this method is to return getIntHeader(String name) on the wrapped request object.- Specified by:
getIntHeaderin interfaceHttpServletRequest- Overrides:
getIntHeaderin classHttpServletRequestWrapper- Parameters:
name- aStringspecifying 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 String getLocalName()
Description copied from class:jakarta.servlet.ServletRequestWrapperThe default behavior of this method is to return getLocalName() on the wrapped request object.- Specified by:
getLocalNamein interfaceServletRequest- Overrides:
getLocalNamein classServletRequestWrapper- Returns:
- a
Stringcontaining the host name of the IP on which the request was received.
-
getLocalPort
public int getLocalPort()
Description copied from class:jakarta.servlet.ServletRequestWrapperThe default behavior of this method is to return getLocalPort() on the wrapped request object.- Specified by:
getLocalPortin interfaceServletRequest- Overrides:
getLocalPortin classServletRequestWrapper- Returns:
- an integer specifying the port number
-
getRemoteAddr
public String getRemoteAddr()
Description copied from class:jakarta.servlet.ServletRequestWrapperThe default behavior of this method is to return getRemoteAddr() on the wrapped request object.- Specified by:
getRemoteAddrin interfaceServletRequest- Overrides:
getRemoteAddrin classServletRequestWrapper- Returns:
- a
Stringcontaining the IP address of the client that sent the request
-
getRemoteHost
public String getRemoteHost()
Description copied from class:jakarta.servlet.ServletRequestWrapperThe default behavior of this method is to return getRemoteHost() on the wrapped request object.- Specified by:
getRemoteHostin interfaceServletRequest- Overrides:
getRemoteHostin classServletRequestWrapper- Returns:
- a
Stringcontaining the fully qualified name of the client
-
getScheme
public String getScheme()
Description copied from class:jakarta.servlet.ServletRequestWrapperThe default behavior of this method is to return getScheme() on the wrapped request object.- Specified by:
getSchemein interfaceServletRequest- Overrides:
getSchemein classServletRequestWrapper- Returns:
- a
Stringcontaining the name of the scheme used to make this request
-
getServerName
public String getServerName()
Description copied from class:jakarta.servlet.ServletRequestWrapperThe default behavior of this method is to return getServerName() on the wrapped request object.- Specified by:
getServerNamein interfaceServletRequest- Overrides:
getServerNamein classServletRequestWrapper- Returns:
- a
Stringcontaining the name of the server
-
getServerPort
public int getServerPort()
Description copied from class:jakarta.servlet.ServletRequestWrapperThe default behavior of this method is to return getServerPort() on the wrapped request object.- Specified by:
getServerPortin interfaceServletRequest- Overrides:
getServerPortin classServletRequestWrapper- Returns:
- an integer specifying the port number
-
removeHeader
public void removeHeader(String name)
-
setLocalName
public void setLocalName(String localName)
-
setLocalPort
public void setLocalPort(int localPort)
-
setRemoteAddr
public void setRemoteAddr(String remoteAddr)
-
setRemoteHost
public void setRemoteHost(String remoteHost)
-
setScheme
public void setScheme(String scheme)
-
setSecure
public void setSecure(boolean secure)
-
setServerName
public void setServerName(String serverName)
-
setServerPort
public void setServerPort(int serverPort)
-
getRequestURL
public StringBuffer getRequestURL()
Description copied from class:jakarta.servlet.http.HttpServletRequestWrapperThe default behavior of this method is to return getRequestURL() on the wrapped request object.- Specified by:
getRequestURLin interfaceHttpServletRequest- Overrides:
getRequestURLin classHttpServletRequestWrapper- Returns:
- a
StringBufferobject containing the reconstructed URL
-
newPushBuilder
public PushBuilder newPushBuilder()
Description copied from class:jakarta.servlet.http.HttpServletRequestWrapperObtain a builder for generating push requests.PushBuilderdocuments how this request will be used as the basis for a push request. Each call to this method will return a new instance, independent of any previous instance obtained.The default behavior of this method is to return
HttpServletRequest.newPushBuilder()on the wrapped request object.- Specified by:
newPushBuilderin interfaceHttpServletRequest- Overrides:
newPushBuilderin classHttpServletRequestWrapper- Returns:
- A builder that can be used to generate push requests based on this request or
nullif push is not supported. Note that even if a PushBuilder instance is returned, by the time thatPushBuilder.push()is called, it may no longer be valid to push a request and the push request will be ignored.
-
-