/* */ #ifndef _D_CHUNKED_ENCODING_H_ #define _D_CHUNKED_ENCODING_H_ #include "TransferEncoding.h" class ChunkedEncoding:public TransferEncoding { private: enum STATE { READ_SIZE, READ_DATA, FINISH }; long int chunkSize; int state; char* strbuf; int strbufSize; char* strbufTail; int readChunkSize(char** pp); int readData(char** pp, char* buf, int& len, int maxlen); void addBuffer(const char* inbuf, int inlen); int readDataEOL(char** pp); public: ChunkedEncoding(); ~ChunkedEncoding(); void init(); void inflate(char* outbuf, int& outlen, const char* inbuf, int inlen); bool finished(); void end(); }; #endif // _D_CHUNKED_ENCODING_H_