添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
java.lang.Object
jakarta.servlet.ServletRequestWrapper
jakarta.servlet.http.HttpServletRequestWrapper
org.springframework.web.util.ContentCachingRequestWrapper
public class ContentCachingRequestWrapper extends HttpServletRequestWrapper
HttpServletRequest wrapper that caches all content read from the input stream and reader , and allows this content to be retrieved via a byte array .

This class acts as an interceptor that only caches content as it is being read but otherwise does not cause content to be read. That means if the request content is not consumed, then the content is not cached, and cannot be retrieved via getContentAsByteArray() .

Used e.g. by AbstractRequestLoggingFilter .

Since:
4.1.3
Author:
Juergen Hoeller, Brian Clozel
See Also:
  • ContentCachingResponseWrapper
  • Create a new ContentCachingRequestWrapper for the given servlet request.
    ContentCachingRequestWrapper ( HttpServletRequest request, int contentCacheLimit)
    Create a new ContentCachingRequestWrapper for the given servlet request.
    handleContentOverflow (int contentCacheLimit)
    Template method for handling a content overflow: specifically, a request body being read that exceeds the specified content cache limit.

    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 , getContentLength , getContentLengthLong , getContentType , getDispatcherType , getLocalAddr , getLocale , getLocales , getLocalName , getLocalPort , getProtocol , getProtocolRequestId , 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 , getContentLength , getContentLengthLong , getContentType , getDispatcherType , getLocalAddr , getLocale , getLocales , getLocalName , getLocalPort , getProtocol , getProtocolRequestId , getRemoteAddr , getRemoteHost , getRemotePort , getRequestDispatcher , getRequestId , getScheme , getServerName , getServerPort , getServletConnection , getServletContext , isAsyncStarted , isAsyncSupported , isSecure , removeAttribute , setAttribute , setCharacterEncoding , startAsync , startAsync

    ContentCachingRequestWrapper

    public ContentCachingRequestWrapper ( HttpServletRequest request)
    Create a new ContentCachingRequestWrapper for the given servlet request.
    Parameters:
    request - the original servlet request

    ContentCachingRequestWrapper

    public ContentCachingRequestWrapper ( HttpServletRequest request, int contentCacheLimit)
    Create a new ContentCachingRequestWrapper for the given servlet request.
    Parameters:
    request - the original servlet request
    contentCacheLimit - the maximum number of bytes to cache per request
    Since:
    4.3.6
    See Also:
  • handleContentOverflow(int)
  • getInputStream in interface ServletRequest
    Overrides:
    getInputStream in class ServletRequestWrapper
    Throws:
    IOException
    getReader in interface ServletRequest
    Overrides:
    getReader in class ServletRequestWrapper
    Throws:
    IOException

    getContentAsByteArray

    public byte[] getContentAsByteArray ()
    Return the cached request content as a byte array.

    The returned array will never be larger than the content cache limit.

    Note: The byte array returned from this method reflects the amount of content that has been read at the time when it is called. If the application does not read the content, this method returns an empty array.

    See Also:
  • ContentCachingRequestWrapper(HttpServletRequest, int)
  • getContentAsString

    public String getContentAsString ()
    Return the cached request content as a String, using the configured Charset .

    Note: The String returned from this method reflects the amount of content that has been read at the time when it is called. If the application does not read the content, this method returns an empty String.

    Since:
    See Also:
  • getContentAsByteArray()
  • handleContentOverflow

    protected void handleContentOverflow (int contentCacheLimit)
    Template method for handling a content overflow: specifically, a request body being read that exceeds the specified content cache limit.

    The default implementation is empty. Subclasses may override this to throw a payload-too-large exception or the like.

    Parameters:
    contentCacheLimit - the maximum number of bytes to cache per request which has just been exceeded
    Since:
    4.3.6
    See Also:
  • ContentCachingRequestWrapper(HttpServletRequest, int)
  •