Class ServletRequest

  • All Implemented Interfaces:
    ServletOrJdiscHttpRequest, javax.servlet.http.HttpServletRequest, javax.servlet.ServletRequest

    public class ServletRequest
    extends javax.servlet.http.HttpServletRequestWrapper
    implements ServletOrJdiscHttpRequest
    Mutable wrapper to use a HttpServletRequest with JDisc security filters.

    You might find it tempting to remove e.g. the getParameter... methods, but keep in mind that this IS-A servlet request and must provide the full api of such a request for use outside the "JDisc filter world".

    • Constructor Summary

      Constructors 
      Constructor Description
      ServletRequest​(javax.servlet.http.HttpServletRequest request, java.net.URI uri)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addHeader​(java.lang.String name, java.lang.String value)  
      java.util.Map<java.lang.String,​java.lang.Object> context()  
      void copyHeaders​(com.yahoo.jdisc.HeaderFields target)  
      java.util.List<Cookie> decodeCookieHeader()  
      void encodeCookieHeader​(java.util.List<Cookie> cookies)  
      long getConnectedAt​(java.util.concurrent.TimeUnit unit)  
      javax.servlet.http.Cookie[] getCookies()  
      java.lang.String getHeader​(java.lang.String name)  
      java.util.Enumeration<java.lang.String> getHeaderNames()  
      java.util.Enumeration<java.lang.String> getHeaders​(java.lang.String name)  
      java.lang.String getParameter​(java.lang.String name)  
      java.util.Map<java.lang.String,​java.lang.String[]> getParameterMap()  
      java.util.Enumeration<java.lang.String> getParameterNames()  
      java.lang.String[] getParameterValues​(java.lang.String name)  
      java.lang.String getRemoteHostAddress()  
      java.lang.String getRemoteHostName()  
      int getRemotePort()  
      javax.servlet.http.HttpServletRequest getRequest()  
      java.net.URI getUri()  
      java.security.Principal getUserPrincipal()  
      HttpRequest.Version getVersion()  
      java.util.Map<java.lang.String,​java.util.List<java.lang.String>> parameters()  
      void removeHeaders​(java.lang.String name)  
      void setHeaders​(java.lang.String name, java.lang.String value)  
      void setHeaders​(java.lang.String name, java.util.List<java.lang.String> values)  
      void setRemoteAddress​(java.net.SocketAddress remoteAddress)  
      void setUri​(java.net.URI uri)  
      void setUserPrincipal​(java.security.Principal principal)  
      • Methods inherited from class javax.servlet.http.HttpServletRequestWrapper

        authenticate, changeSessionId, getAuthType, getContextPath, getDateHeader, getIntHeader, getMethod, getPart, getParts, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, 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, getLocalName, getLocalPort, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRequestDispatcher, getScheme, getServerName, getServerPort, 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, getLocalName, getLocalPort, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRequestDispatcher, getScheme, getServerName, getServerPort, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, removeAttribute, setAttribute, setCharacterEncoding, startAsync, startAsync
    • Field Detail

      • JDISC_REQUEST_PRINCIPAL

        public static final java.lang.String JDISC_REQUEST_PRINCIPAL
        See Also:
        Constant Field Values
      • JDISC_REQUEST_X509CERT

        public static final java.lang.String JDISC_REQUEST_X509CERT
        See Also:
        Constant Field Values
      • SERVLET_REQUEST_X509CERT

        public static final java.lang.String SERVLET_REQUEST_X509CERT
        See Also:
        Constant Field Values
      • SERVLET_REQUEST_SSL_SESSION_ID

        public static final java.lang.String SERVLET_REQUEST_SSL_SESSION_ID
        See Also:
        Constant Field Values
      • SERVLET_REQUEST_CIPHER_SUITE

        public static final java.lang.String SERVLET_REQUEST_CIPHER_SUITE
        See Also:
        Constant Field Values
    • Constructor Detail

      • ServletRequest

        public ServletRequest​(javax.servlet.http.HttpServletRequest request,
                              java.net.URI uri)
    • Method Detail

      • getRequest

        public javax.servlet.http.HttpServletRequest getRequest()
        Overrides:
        getRequest in class javax.servlet.ServletRequestWrapper
      • getParameterMap

        public java.util.Map<java.lang.String,​java.lang.String[]> getParameterMap()
        Specified by:
        getParameterMap in interface javax.servlet.ServletRequest
        Overrides:
        getParameterMap in class javax.servlet.ServletRequestWrapper
      • getParameter

        public java.lang.String getParameter​(java.lang.String name)
        Specified by:
        getParameter in interface javax.servlet.ServletRequest
        Overrides:
        getParameter in class javax.servlet.ServletRequestWrapper
      • getParameterNames

        public java.util.Enumeration<java.lang.String> getParameterNames()
        Specified by:
        getParameterNames in interface javax.servlet.ServletRequest
        Overrides:
        getParameterNames in class javax.servlet.ServletRequestWrapper
      • getParameterValues

        public java.lang.String[] getParameterValues​(java.lang.String name)
        Specified by:
        getParameterValues in interface javax.servlet.ServletRequest
        Overrides:
        getParameterValues in class javax.servlet.ServletRequestWrapper
      • getHeaders

        public java.util.Enumeration<java.lang.String> getHeaders​(java.lang.String name)
        Specified by:
        getHeaders in interface javax.servlet.http.HttpServletRequest
        Overrides:
        getHeaders in class javax.servlet.http.HttpServletRequestWrapper
      • getHeader

        public java.lang.String getHeader​(java.lang.String name)
        Specified by:
        getHeader in interface javax.servlet.http.HttpServletRequest
        Overrides:
        getHeader in class javax.servlet.http.HttpServletRequestWrapper
      • getHeaderNames

        public java.util.Enumeration<java.lang.String> getHeaderNames()
        Specified by:
        getHeaderNames in interface javax.servlet.http.HttpServletRequest
        Overrides:
        getHeaderNames in class javax.servlet.http.HttpServletRequestWrapper
      • addHeader

        public void addHeader​(java.lang.String name,
                              java.lang.String value)
      • setHeaders

        public void setHeaders​(java.lang.String name,
                               java.lang.String value)
      • setHeaders

        public void setHeaders​(java.lang.String name,
                               java.util.List<java.lang.String> values)
      • removeHeaders

        public void removeHeaders​(java.lang.String name)
      • setUri

        public void setUri​(java.net.URI uri)
      • getRemotePort

        public int getRemotePort()
        Specified by:
        getRemotePort in interface ServletOrJdiscHttpRequest
        Specified by:
        getRemotePort in interface javax.servlet.ServletRequest
        Overrides:
        getRemotePort in class javax.servlet.ServletRequestWrapper
      • getCookies

        public javax.servlet.http.Cookie[] getCookies()
        Specified by:
        getCookies in interface javax.servlet.http.HttpServletRequest
        Overrides:
        getCookies in class javax.servlet.http.HttpServletRequestWrapper
      • getUserPrincipal

        public java.security.Principal getUserPrincipal()
        Specified by:
        getUserPrincipal in interface javax.servlet.http.HttpServletRequest
        Overrides:
        getUserPrincipal in class javax.servlet.http.HttpServletRequestWrapper
      • setUserPrincipal

        public void setUserPrincipal​(java.security.Principal principal)