Class CachedBodyServletInputStream

java.lang.Object
java.io.InputStream
jakarta.servlet.ServletInputStream
org.trustdeck.security.audittrail.request.CachedBodyServletInputStream
All Implemented Interfaces:
Closeable, AutoCloseable

public class CachedBodyServletInputStream extends jakarta.servlet.ServletInputStream
Enables the servlet input stream to be read multiple times without being destroyed. Adapted from Baeldung: Reading HttpServletRequest Multiple Times.
Author:
Baeldung, Armin Müller
  • Constructor Details

    • CachedBodyServletInputStream

      public CachedBodyServletInputStream(byte[] cachedBody)
      Constructor.
      Parameters:
      cachedBody - the byte-array of the cached body.
  • Method Details

    • isFinished

      public boolean isFinished()
      Specified by:
      isFinished in class jakarta.servlet.ServletInputStream
    • isReady

      public boolean isReady()
      Specified by:
      isReady in class jakarta.servlet.ServletInputStream
    • setReadListener

      public void setReadListener(jakarta.servlet.ReadListener readListener)
      This re-implementation will always throw an UnsupportedOperationException.
      Specified by:
      setReadListener in class jakarta.servlet.ServletInputStream
    • read

      public int read() throws IOException
      Specified by:
      read in class InputStream
      Throws:
      IOException