15 #ifndef CHUNKEDSTREAMBUF_H 16 #define CHUNKEDSTREAMBUF_H 18 #include "pandabase.h" 23 #include "httpChannel.h" 24 #include "bioStreamPtr.h" 25 #include "pointerTo.h" 33 class ChunkedStreamBuf :
public streambuf {
36 virtual ~ChunkedStreamBuf();
38 void open_read(BioStreamPtr *source, HTTPChannel *doc);
41 INLINE
bool is_closed()
const;
42 INLINE ISocketStream::ReadState get_read_state()
const;
45 virtual int underflow();
48 size_t read_chars(
char *start,
size_t length);
49 bool http_getline(
string &str);
51 PT(BioStreamPtr) _source;
52 size_t _chunk_remaining;
54 bool _wanted_nonblocking;
55 string _working_getline;
56 ISocketStream::ReadState _read_state;
62 friend class IChunkedStream;
65 #include "chunkedStreamBuf.I" 67 #endif // HAVE_OPENSSL