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.InputStreamInput 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 SessionInputBufferbufferprivate booleanclosedprivate java.io.InputStreaminputStream
-
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 intavailable()voidclose()Marks this stream as closed, but does NOT close the underlying stream.intread()intread(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:
availablein classjava.io.InputStream- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOExceptionMarks this stream as closed, but does NOT close the underlying stream.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.InputStream- Throws:
java.io.IOException- If an I/O problem occurs.
-
read
public int read() throws java.io.IOException- Specified by:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
read
public int read(byte[] b, int off, int len) throws java.io.IOException- Overrides:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
-