Package 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:
java.io.Closeable
,java.lang.AutoCloseable
public class IdentityInputStream extends java.io.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
-
-
Field Summary
Fields Modifier and Type Field Description private SessionInputBuffer
buffer
private boolean
closed
private java.io.InputStream
inputStream
-
Constructor Summary
Constructors Constructor Description IdentityInputStream(SessionInputBuffer buffer, java.io.InputStream inputStream)
Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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)
-
-
-
Field Detail
-
buffer
private final SessionInputBuffer buffer
-
inputStream
private final java.io.InputStream inputStream
-
closed
private boolean closed
-
-
Constructor Detail
-
IdentityInputStream
public IdentityInputStream(SessionInputBuffer buffer, java.io.InputStream inputStream)
Default constructor.- Parameters:
buffer
- Session input bufferinputStream
- Input stream
-
-
Method Detail
-
available
public int available() throws java.io.IOException
- Overrides:
available
in classjava.io.InputStream
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException
Marks this stream as closed, but does NOT close the underlying stream.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.InputStream
- Throws:
java.io.IOException
- If an I/O problem occurs.
-
read
public int read() throws java.io.IOException
- Specified by:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
read
public int read(byte[] b, int off, int len) throws java.io.IOException
- Overrides:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
-