rfc:pecl_http

This is an old revision of the document!


PHP RFC: Add pecl_http to core

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”
rfc/pecl_http.1408438989.txt.gz · Last modified: 2017/09/22 13:28 (external edit)