Class CachingHttpServletRequest

java.lang.Object
jakarta.servlet.ServletRequestWrapper
jakarta.servlet.http.HttpServletRequestWrapper
org.apache.juneau.rest.util.CachingHttpServletRequest
All Implemented Interfaces:
jakarta.servlet.http.HttpServletRequest, jakarta.servlet.ServletRequest

public class CachingHttpServletRequest extends jakarta.servlet.http.HttpServletRequestWrapper
Wraps an HttpServletRequest and preloads the content into memory for debugging purposes.
See Also:
  • Field Summary

    Fields inherited from interface jakarta.servlet.http.HttpServletRequest

    BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    CachingHttpServletRequest(jakarta.servlet.http.HttpServletRequest req)
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    byte[]
    Returns the content of the servlet request without consuming the stream.
    jakarta.servlet.ServletInputStream
     
    wrap(jakarta.servlet.http.HttpServletRequest req)
    Wraps the specified request inside a CachingHttpServletRequest if it isn't already.

    Methods inherited from class jakarta.servlet.http.HttpServletRequestWrapper

    authenticate, changeSessionId, getAuthType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getHttpServletMapping, getIntHeader, getMethod, getPart, getParts, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getTrailerFields, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isTrailerFieldsReady, isUserInRole, login, logout, newPushBuilder, upgrade

    Methods inherited from class jakarta.servlet.ServletRequestWrapper

    getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getProtocolRequestId, getReader, getRemoteAddr, getRemoteHost, getRemotePort, getRequest, getRequestDispatcher, getRequestId, getScheme, getServerName, getServerPort, 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, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getProtocolRequestId, getReader, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getRequestId, getScheme, getServerName, getServerPort, getServletConnection, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, removeAttribute, setAttribute, setCharacterEncoding, startAsync, startAsync
  • Constructor Details

    • CachingHttpServletRequest

      protected CachingHttpServletRequest(jakarta.servlet.http.HttpServletRequest req) throws IOException
      Constructor.
      Parameters:
      req - The request being wrapped.
      Throws:
      IOException - If content could not be loaded into memory.
  • Method Details

    • wrap

      public static CachingHttpServletRequest wrap(jakarta.servlet.http.HttpServletRequest req) throws IOException
      Wraps the specified request inside a CachingHttpServletRequest if it isn't already.
      Parameters:
      req - The request to wrap.
      Returns:
      The wrapped request.
      Throws:
      IOException - Thrown by underlying content stream.
    • getInputStream

      public jakarta.servlet.ServletInputStream getInputStream()
      Specified by:
      getInputStream in interface jakarta.servlet.ServletRequest
      Overrides:
      getInputStream in class jakarta.servlet.ServletRequestWrapper
    • getContent

      public byte[] getContent()
      Returns the content of the servlet request without consuming the stream.
      Returns:
      The content of the request.