Class ResettableStreamHttpServletRequest

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

    public class ResettableStreamHttpServletRequest
    extends javax.servlet.http.HttpServletRequestWrapper
    implements ObjectWithMetadata
    The request wrapper used in Auth filter that allows to re-read the request body.
    Author:
    Loganathan Sekar
    • Field Summary

      • Fields inherited from interface javax.servlet.http.HttpServletRequest

        BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
    • Constructor Summary

      Constructors 
      Constructor Description
      ResettableStreamHttpServletRequest​(javax.servlet.http.HttpServletRequest request)
      Instantiates a new resettable stream http servlet request.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      javax.servlet.ServletInputStream getInputStream()  
      Map<String,​Object> getMetadata()  
      BufferedReader getReader()  
      void replaceData​(byte[] newData)
      Replace the request data with the given bytes
      void resetInputStream()
      Reset input stream.
      void setMetadata​(Map<String,​Object> metadata)  
      • Methods inherited from class javax.servlet.http.HttpServletRequestWrapper

        authenticate, changeSessionId, getAuthType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getIntHeader, getMethod, getPart, getParts, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getRequestURL, 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, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, 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 interface javax.servlet.ServletRequest

        getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, removeAttribute, setAttribute, setCharacterEncoding, startAsync, startAsync
    • Constructor Detail

      • ResettableStreamHttpServletRequest

        public ResettableStreamHttpServletRequest​(javax.servlet.http.HttpServletRequest request)
        Instantiates a new resettable stream http servlet request.
        Parameters:
        request - the request
    • Method Detail

      • resetInputStream

        public void resetInputStream()
        Reset input stream.
      • getInputStream

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

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

        public void replaceData​(byte[] newData)
        Replace the request data with the given bytes
        Parameters:
        newData - the new data to be replaced with