# abstract class http\Encoding\Stream extends http\Object
-Base for encoding stream implementations.
+Base class for encoding stream implementations.
## Constants:
--- /dev/null
+# class http\Encoding\Stream\Dechunk extends http\Encoding\Stream
+
+A stream decoding data encoded with chunked transfer encoding.
+
+## Constants:
+
+None.
+
+## Properties:
+
+None.
--- /dev/null
+# static string http\Encoding\Stream\Dechunk::decode(string $data)
+
+Decode chunked encoded data.
+
+## Params:
+
+* string $data
+ The data to decode.
+
+## Returns:
+
+* string, the decoded data.
--- /dev/null
+# class http\Encoding\Stream\Deflate extends http\Encoding\Stream
+
+A deflate stream supporting deflate, zlib and gzip encodings.
+
+## Constants:
+
+* TYPE_GZIP
+ Gzip encoding. RFC1952
+* TYPE_ZLIB
+ Zlib encoding. RFC1950
+* TYPE_RAW
+ Deflate encoding. RFC1951
+* LEVEL_DEF
+ Default compression level.
+* LEVEL_MIN
+ Least compression level.
+* LEVEL_MAX
+ Greatest compression level.
+* STRATEGY_DEF
+ Default compression strategy.
+* STRATEGY_FILT
+ Filtered compression strategy.
+* STRATEGY_HUFF
+ Huffman strategy only.
+* STRATEGY_RLE
+ Run-length encoding strategy.
+* STRATEGY_FIXED
+ Encoding with fixed Huffman codes only.
+
+> **A note on the compression strategy:**
+>
+> The strategy parameter is used to tune the compression algorithm.
+>
+> Use the value DEFAULT_STRATEGY for normal data, FILTERED for data produced by a filter (or predictor), HUFFMAN_ONLY to force Huffman encoding only (no string match), or RLE to limit match distances to one (run-length encoding).
+>
+> Filtered data consists mostly of small values with a somewhat random distribution. In this case, the compression algorithm is tuned to compress them better. The effect of FILTERED is to force more Huffman coding and less string matching; it is somewhat intermediate between DEFAULT_STRATEGY and HUFFMAN_ONLY.
+>
+> RLE is designed to be almost as fast as HUFFMAN_ONLY, but give better compression for PNG image data.
+>
+> FIXED prevents the use of dynamic Huffman codes, allowing for a simpler decoder for special applications.
+>
+> The strategy parameter only affects the compression ratio but not the correctness of the compressed output even if it is not set appropriately.
+>
+>_Source: [zlib Manual](http://www.zlib.net/manual.html)_
+
+
+## Properties:
+
+None.
--- /dev/null
+# static string http\Encoding\Stream\Deflate::encode(string $data[, int $flags = 0])
+
+Encode data with deflate/zlib/gzip encoding.
+
+## Params:
+
+* string $data
+ The data to compress.
+* Optional int $flags = 0
+ Any compression tuning flags. See http\Encoding\Stream\Deflate and http\Encoding\Stream constants.
+
+## Returns:
+
+* string, the compressed data.
--- /dev/null
+# class http\Encoding\Stream\Inflate extends http\Encoding\Stream
+
+A inflate stream supporting deflate, zlib and gzip encodings.
+
+## Constants:
+
+None.
+
+## Properties:
+
+None.
--- /dev/null
+# static string http\Encoding\Stream\Inflate::decode(string $data)
+
+Decode deflate/zlib/gzip encoded data.
+
+## Params:
+
+* string $data
+ The data to uncompress.
+
+## Returns:
+
+* string, the uncompressed data.
--- /dev/null
+# void http\Encoding\Stream::__construct([int $flags = 0])
+
+Base constructor for encoding stream implementations.
+
+## Params:
+
+* Optional int $flags = 0
+ See http\Encoding\Stream and implementation specific constants.
+
+## Throws:
+
+* http\Exception.
--- /dev/null
+# bool http\Encoding\Stream::done()
+
+Check whether the encoding stream is already done.
+
+## Params:
+
+None.
+
+## Returns:
+
+* bool, whether the encoding stream is completed.
--- /dev/null
+# string http\Encoding\Stream::finish()
+
+Finish and reset the encoding stream.
+Returns any pending data.
+
+## Params:
+
+None.
+
+## Returns:
+
+* string, any pending data.
--- /dev/null
+# string http\Encoding\Stream::flush()
+
+Flush the encoding stream.
+Returns any pending data.
+
+## Params:
+
+None.
+
+## Returns:
+
+* string, any pending data.
--- /dev/null
+# string http\Encoding\Stream::update(string $data)
+
+Update the encoding stream with more input.
+
+## Params:
+
+* string $data
+ The data to pass through the stream.
+
+## Returns:
+
+* string, processed data.