This is an old revision of the document!
PHP RFC: Add pecl_http to core
- Version: 1.2
- Date: 2014-08-19
- Author: Michael Wallner, mike@php.net
- Status: Under Discussion
- First Published at: http://wiki.php.net/rfc/pecl_http
Introduction
A discussion whether it is feasible to add pecl_http v2 or a derivative to the core.
Proposal
Providing the functionality of pecl_http with the core distribution.
See the Github repo for the sources, the online markdown reference for the complete userland API and the LCOV code coverage report for a glance on test coverage.
This is an open RFC, which means that the features and APIs are under discussion, too. Just sayin' if that was not clear from the beginning ;)
Proposed PHP Version(s)
PHP7, resp. git:master
RFC Impact
Feature corner stones:
- Modular client (currently only libcurl)
- Message parser
- Header params parser
- Server side environment request and response entities
- Negotiation
- Encodings: chunked, deflate, gzip
- Swiss army knife for URLs
To SAPIs
WEB:
- pecl_http adds processing for json request bodies into $_POST
To Opcache
TODO:
- Verify RFC's compatibility with opcache.
New Constants
pecl_http does not introduce new global constants.
php.ini Defaults
- http.etag.mode => crc32b
Open Issues
pecl_http has not been ported to PHPNG yet.
pecl_http depends on additional pecl extensions which also would have to be included somehow:
The PHP manual still hosts the docs for pecl_http-v1 and it's not been decided how to handle the documentation of pecl_http-v2.
Unaffected PHP Functionality
The http: stream wrapper is unaffected by pecl_http.
Proposed Voting Choices
A simple yes/no vote with a 50%+1 majority needed for acceptance.
Changelog
- 1.1
- Added “Feature corner stones”
- 1.2
- Improvements to “Introduction” and “Proposal”