Class ResponseBodyInputStream

java.lang.Object
java.io.InputStream
java.io.FilterInputStream
com.langfuse.client.core.ResponseBodyInputStream
All Implemented Interfaces:
Closeable, AutoCloseable

public class ResponseBodyInputStream extends FilterInputStream
A custom InputStream that wraps the InputStream from the OkHttp Response and ensures that the OkHttp Response object is properly closed when the stream is closed. This class extends FilterInputStream and takes an OkHttp Response object as a parameter. It retrieves the InputStream from the Response and overrides the close method to close both the InputStream and the Response object, ensuring proper resource management and preventing premature closure of the underlying HTTP connection.
  • Constructor Details

    • ResponseBodyInputStream

      public ResponseBodyInputStream(okhttp3.Response response) throws IOException
      Constructs a ResponseBodyInputStream that wraps the InputStream from the given OkHttp Response object.
      Parameters:
      response - the OkHttp Response object from which the InputStream is retrieved
      Throws:
      IOException - if an I/O error occurs while retrieving the InputStream
  • Method Details

    • close

      public void close() throws IOException
      Closes the InputStream and the associated OkHttp Response object. This ensures that the underlying HTTP connection is properly closed after the stream is no longer needed.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class FilterInputStream
      Throws:
      IOException - if an I/O error occurs