Class MutableHttpServletRequest

  • All Implemented Interfaces:
    javax.servlet.http.HttpServletRequest, javax.servlet.ServletRequest
    Direct Known Subclasses:
    GeoserverAuthHeaderRequest

    public class MutableHttpServletRequest
    extends javax.servlet.http.HttpServletRequestWrapper
    An implementation of HttpServletRequestWrapper.
    Author:
    Daniel Koch
    See Also:
    This stackoverflow discussion
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String DEFAULT_CHARSET  
      • Fields inherited from interface javax.servlet.http.HttpServletRequest

        BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
    • Constructor Summary

      Constructors 
      Constructor Description
      MutableHttpServletRequest​(javax.servlet.http.HttpServletRequest request)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addParameter​(java.lang.String key, java.lang.String value)  
      void addParameter​(java.lang.String key, java.lang.String[] value)  
      java.lang.String getHeader​(java.lang.String name)  
      javax.servlet.ServletInputStream getInputStream()  
      java.lang.String getParameter​(java.lang.String key)  
      java.lang.String getParameterIgnoreCase​(java.lang.String name)
      Get a parameter by name, ignoring case.
      java.util.Map<java.lang.String,​java.lang.String[]> getParameterMap()  
      java.io.BufferedReader getReader()  
      static java.lang.String getRequestParameterValue​(javax.servlet.http.HttpServletRequest httpServletRequest, java.lang.String parameter)  
      static java.lang.String getRequestParameterValue​(javax.servlet.http.HttpServletRequest httpServletRequest, java.lang.String[] keys)  
      java.lang.String getRequestURI()  
      void removeHeader​(java.lang.String key)  
      void removeParameter​(java.lang.String key)  
      void setHeader​(java.lang.String key, java.lang.String value)  
      void setInputStream​(java.io.InputStream stream)
      Set the cachedInputStream as a copy of passed InputStream
      void setInputStream​(java.lang.String body)
      Set the cachedInputStream as a copy of UTF-8 encoded ByteArrayInputStream
      void setParameter​(java.lang.String key, java.lang.String value)  
      void setParameter​(java.lang.String key, java.lang.String[] value)  
      void setRequestURI​(java.lang.String url)  
      void setRequestURI​(java.net.URI uri)  
      • Methods inherited from class javax.servlet.http.HttpServletRequestWrapper

        authenticate, changeSessionId, getAuthType, getContextPath, getCookies, getDateHeader, getHeaderNames, getHeaders, getHttpServletMapping, getIntHeader, getMethod, getPart, getParts, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURL, getServletPath, getSession, getSession, getTrailerFields, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isTrailerFieldsReady, isUserInRole, login, logout, newPushBuilder, upgrade
      • Methods inherited from class javax.servlet.ServletRequestWrapper

        getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameterNames, getParameterValues, getProtocol, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequest, 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, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameterNames, getParameterValues, getProtocol, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, removeAttribute, setAttribute, setCharacterEncoding, startAsync, startAsync
    • Field Detail

    • Constructor Detail

      • MutableHttpServletRequest

        public MutableHttpServletRequest​(javax.servlet.http.HttpServletRequest request)
        Parameters:
        request -
    • Method Detail

      • getRequestParameterValue

        public static java.lang.String getRequestParameterValue​(javax.servlet.http.HttpServletRequest httpServletRequest,
                                                                java.lang.String[] keys)
                                                         throws InterceptorException,
                                                                java.io.IOException
        Parameters:
        httpServletRequest -
        keys -
        Returns:
        Throws:
        InterceptorException
        java.io.IOException
      • getRequestParameterValue

        public static java.lang.String getRequestParameterValue​(javax.servlet.http.HttpServletRequest httpServletRequest,
                                                                java.lang.String parameter)
                                                         throws InterceptorException,
                                                                java.io.IOException
        Parameters:
        httpServletRequest -
        parameter -
        Returns:
        Throws:
        InterceptorException
        java.io.IOException
      • getRequestURI

        public java.lang.String getRequestURI()
        Specified by:
        getRequestURI in interface javax.servlet.http.HttpServletRequest
        Overrides:
        getRequestURI in class javax.servlet.http.HttpServletRequestWrapper
      • setRequestURI

        public void setRequestURI​(java.lang.String url)
        Parameters:
        url - The URI to set as instance of String
      • setRequestURI

        public void setRequestURI​(java.net.URI uri)
        Parameters:
        uri - The URI to set as instance of URI
      • setParameter

        public void setParameter​(java.lang.String key,
                                 java.lang.String[] value)
        Parameters:
        key -
        value -
      • setParameter

        public void setParameter​(java.lang.String key,
                                 java.lang.String value)
        Parameters:
        key -
        value -
      • setHeader

        public void setHeader​(java.lang.String key,
                              java.lang.String value)
        Parameters:
        key - The header name (without a trailing colon `:`)
        value - The header value
      • addParameter

        public void addParameter​(java.lang.String key,
                                 java.lang.String[] value)
        Parameters:
        key -
        value -
      • addParameter

        public void addParameter​(java.lang.String key,
                                 java.lang.String value)
        Parameters:
        key -
        value -
      • removeParameter

        public void removeParameter​(java.lang.String key)
        Parameters:
        key -
      • removeHeader

        public void removeHeader​(java.lang.String key)
        Parameters:
        key -
      • getParameter

        public java.lang.String getParameter​(java.lang.String key)
        Specified by:
        getParameter in interface javax.servlet.ServletRequest
        Overrides:
        getParameter 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
      • 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
      • getInputStream

        public javax.servlet.ServletInputStream getInputStream()
                                                        throws java.io.IOException
        Specified by:
        getInputStream in interface javax.servlet.ServletRequest
        Overrides:
        getInputStream in class javax.servlet.ServletRequestWrapper
        Throws:
        java.io.IOException
      • setInputStream

        public void setInputStream​(java.lang.String body)
        Set the cachedInputStream as a copy of UTF-8 encoded ByteArrayInputStream
        Parameters:
        body - String body to create the ByteArrayInputStream from
      • setInputStream

        public void setInputStream​(java.io.InputStream stream)
        Set the cachedInputStream as a copy of passed InputStream
        Parameters:
        stream - The InputStream to set (copy)
      • getReader

        public java.io.BufferedReader getReader()
                                         throws java.io.IOException
        Specified by:
        getReader in interface javax.servlet.ServletRequest
        Overrides:
        getReader in class javax.servlet.ServletRequestWrapper
        Throws:
        java.io.IOException
      • getParameterIgnoreCase

        public java.lang.String getParameterIgnoreCase​(java.lang.String name)
        Get a parameter by name, ignoring case.
        Parameters:
        name - the parameter to get
        Returns:
        a comma separated list of parameter values