com.atlassian.jira.util.http.request
Class CapturingRequestWrapper

java.lang.Object
  extended by javax.servlet.ServletRequestWrapper
      extended by javax.servlet.http.HttpServletRequestWrapper
          extended by com.atlassian.jira.util.http.request.CapturingRequestWrapper
All Implemented Interfaces:
javax.servlet.http.HttpServletRequest, javax.servlet.ServletRequest

public class CapturingRequestWrapper
extends javax.servlet.http.HttpServletRequestWrapper

This HttpServletRequestWrapper can capture the data contained within a HttpServletRequest.

As data is read from the HttpServletRequest, it is stored in memory up to a certain limit.

THREAD SAFETY - One of these must be constructed on each HTTP request/response and hence only one thread may write to it at the one time. This suits the whole servlet engine idea,

Since:
v3.13.2

Field Summary
 
Fields inherited from interface javax.servlet.http.HttpServletRequest
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
 
Constructor Summary
CapturingRequestWrapper(javax.servlet.http.HttpServletRequest httpServletRequest, int maxCaptureBytes)
          This request wrapper will capture up to maxCaptureBytes of input data as it is read by the application server.
 
Method Summary
 byte[] getBytes()
          This returns the bytes that have been captured via the RequestWrapper, This will be no bigger than maxCaptureBytes
 javax.servlet.ServletInputStream getInputStream()
           
 BufferedReader getReader()
           
 
Methods inherited from class javax.servlet.http.HttpServletRequestWrapper
getAuthType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getIntHeader, getMethod, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isUserInRole
 
Methods inherited from class javax.servlet.ServletRequestWrapper
getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentType, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequest, getRequestDispatcher, getScheme, getServerName, getServerPort, isSecure, removeAttribute, setAttribute, setCharacterEncoding, setRequest
 
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
getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentType, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, isSecure, removeAttribute, setAttribute, setCharacterEncoding
 

Constructor Detail

CapturingRequestWrapper

public CapturingRequestWrapper(javax.servlet.http.HttpServletRequest httpServletRequest,
                               int maxCaptureBytes)
This request wrapper will capture up to maxCaptureBytes of input data as it is read by the application server.

Parameters:
httpServletRequest - the underlying HttpServletRequest
maxCaptureBytes - the maximum number of bytes to capture
Method Detail

getBytes

public byte[] getBytes()
This returns the bytes that have been captured via the RequestWrapper, This will be no bigger than maxCaptureBytes

Returns:
the bytes that have been captured via the RequestWrapper

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


Copyright © 2002-2013 Atlassian. All Rights Reserved.