Page MenuHomePhabricator

Move request decoding/streaming to AphrontRequestStream
ClosedPublic

Authored by epriestley on Mar 16 2016, 5:51 PM.

Details

Summary

Ref T10604. This moves the php://input / gzip handling code to a separate class. More input handling responsibility can likely live here in the future.

Ref T10264 for gzip window stuff.

Test Plan

See next change. Cloned a repository, broswed around, submitted POST data.

The window parameter is still a little magic, but this interpretation appears to work (?) and is supported by the zlib documentation:

windowBits can also be greater than 15 for optional gzip decoding. Add 32 to windowBits to enable zlib and gzip decoding with automatic header detection, or add 16 to decode only the gzip format (the zlib format will return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is a crc32 instead of an adler32.
http://www.zlib.net/manual.html

Diff Detail

Repository
rPHU libphutil
Lint
Lint Not Applicable
Unit
Tests Not Applicable