org.apache.hc.core5.http.impl.io

## Class IdentityInputStream

- java.lang.Object
- - java.io.InputStream
  - - org.apache.hc.core5.http.impl.io.IdentityInputStream

- All Implemented Interfaces:
    Closeable, AutoCloseable

      public class IdentityInputStream
      extends InputStream

  Input stream that reads data without any transformation. The end of the content entity is demarcated by closing the underlying connection (EOF condition). Entities transferred using this input stream can be of unlimited length.

  Note that this class NEVER closes the underlying stream, even when `close()` gets called. Instead, the stream will be marked as closed and no further reading will be permitted.

  Since:
    4.0

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `IdentityInputStream(SessionInputBuffer buffer, InputStream inputStream)` Default constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `available()`
    `void` | `close()` Marks this stream as closed, but does NOT close the underlying stream.
    `int` | `read()`
    `int` | `read(byte[] b, int off, int len)`

    - ### Methods inherited from class java.io.InputStream

      `mark, markSupported, read, reset, skip`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### IdentityInputStream

          public IdentityInputStream(SessionInputBuffer buffer,
                             InputStream inputStream)

      Default constructor.
      Parameters:
        `buffer` - Session input buffer
        `inputStream` - Input stream

  - ### Method Detail

    - #### available

          public int available()
                        throws IOException

      Overrides:
        `available` in class `InputStream`
      Throws:
        `IOException`

    - #### close

          public void close()
                     throws IOException

      Marks this stream as closed, but does NOT close the underlying stream.
      Specified by:
        `close` in interface `Closeable`
      Specified by:
        `close` in interface `AutoCloseable`
      Overrides:
        `close` in class `InputStream`
      Throws:
        `IOException` - If an I/O problem occurs.

    - #### read

          public int read()
                   throws IOException

      Specified by:
        `read` in class `InputStream`
      Throws:
        `IOException`

    - #### read

          public int read(byte[] b,
                 int off,
                 int len)
                   throws IOException

      Overrides:
        `read` in class `InputStream`
      Throws:
        `IOException`

Copyright © 2005–2022 The Apache Software Foundation. All rights reserved.