This is an old revision of the document!
PHP RFC: Add pecl_http to core
- Version: 1.4
- Date: 2015-01-28
- Author: Michael Wallner, mike@php.net
- Status: Draft
- First Published at: http://wiki.php.net/rfc/pecl_http
Introduction
A discussion whether it is feasible to add pecl_http (v2 API) 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.
The PHP7 port can be found here:
https://github.com/php/pecl-http-pecl_http/tree/phpng
A fully merged (http and dependencies) tree can be found here:
https://github.com/m6w6/php-src/tree/merge-http
Proposed PHP Version(s)
PHP7, resp. git:master
RFC Impact
Feature corner stones:
- Modular client (currently only libcurl)
http://devel-m6w6.rhcloud.com/mdref/http/Client - Header params parser
http://devel-m6w6.rhcloud.com/mdref/http/Params - Server side environment request and response entities
http://devel-m6w6.rhcloud.com/mdref/http/Env/Request
http://devel-m6w6.rhcloud.com/mdref/http/Env/Response - Encodings: chunked, deflate, gzip
http://devel-m6w6.rhcloud.com/mdref/http/Encoding/Stream - Swiss army knife for URLs
http://devel-m6w6.rhcloud.com/mdref/http/Url
A total of 28 classes and 2 functions will be added.
To SAPIs
WEB:
- pecl_http adds processing for json request bodies into $_POST
To Opcache
None.
New Constants
No new global constants.
php.ini Defaults
- http.etag.mode => crc32b
Open Issues
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 which are located here.
Unaffected PHP Functionality
The http: stream wrapper is unaffected by pecl_http.
Vote
50%+1 combined “Yes” votes needed for acceptance.
The vote started on 2015-01-28 at 12:00 UTC and ends on 2015-02-06 at 12:00 UTC. The vote has been cancelled on 2015-01-28 at 23:30 UTC due to concerns about completeness of the RFC.
Changelog
- 1.1
- Added “Feature corner stones”
- 1.2
- Improvements to “Introduction” and “Proposal”
- 1.3
- Added another link to the current docs
- 1.4
- Added link to fully merged tree
- Expand voting options