language and charset, as well as a convenient way to send any
arbitrary data with caching and resuming capabilities.
-It provides powerful request functionality, if built with CURL
-support. Parallel requests are available for PHP 5 and greater.
+It provides powerful request functionality with support for
+parallel requests.
+
+Documentation:
+http://devel-m6w6.rhcloud.com/mdref/http
+
+Code Coverage:
+http://dev.iworks.at/ext-http/lcov/ext/http/
+
]]></description>
<lead>
<name>Michael Wallner</name>
<email>mike@php.net</email>
<active>yes</active>
</lead>
- <date>2013-08-12</date>
+ <date>2015-07-28</date>
<version>
- <release>2.0.0beta5</release>
- <api>2.0.0</api>
+ <release>2.5.2dev</release>
+ <api>2.5.0</api>
</version>
<stability>
- <release>beta</release>
- <api>beta</api>
+ <release>stable</release>
+ <api>stable</api>
</stability>
<license>BSD, revised</license>
<notes><![CDATA[
-Extended HTTP support. Again. Keep in mind that it's got the major version 2, because it's incompatible with pecl_http v1.
-
-* Introduces the http namespace.
-* Message bodies have been remodeled to use PHP temporary streams instead of in-memory buffers.
-* The utterly misunderstood HttpResponse class has been reimplemented as http\Env\Response inheriting http\Message.
-* Currently, there's only one Exception class left, http\Exception.
-* Errors triggered by the extension can be configured statically by http\Object::$defaultErrorHandling or inherited http\Object->errorHandling.
-* The request ecosystem has been modularized to support different libraries, though for the moment only libcurl is supported.
++ Added "path_as_is" request option (libcurl >= 7.42)
]]></notes>
<contents>
<dir name="/">
<file role="doc" name="LICENSE"/>
<file role="doc" name="CREDITS"/>
+ <file role="doc" name="Exceptions.txt"/>
<file role="doc" name="KnownIssues.txt"/>
<file role="doc" name="ThanksTo.txt"/>
<file role="src" name="config.m4"/>
<file role="src" name="php_http.h"/>
<file role="src" name="php_http_header_parser.c"/>
<file role="src" name="php_http_header_parser.h"/>
- <file role="src" name="php_http_headers.c"/>
- <file role="src" name="php_http_headers.h"/>
+ <file role="src" name="php_http_header.c"/>
+ <file role="src" name="php_http_header.h"/>
<file role="src" name="php_http_info.c"/>
<file role="src" name="php_http_info.h"/>
<file role="src" name="php_http_message_body.c"/>
<file role="src" name="php_http_params.h"/>
<file role="src" name="php_http_querystring.c"/>
<file role="src" name="php_http_querystring.h"/>
- <file role="src" name="php_http_strlist.c"/>
- <file role="src" name="php_http_strlist.h"/>
+ <file role="src" name="php_http_response_codes.h"/>
<file role="src" name="php_http_url.c"/>
<file role="src" name="php_http_url.h"/>
+ <file role="src" name="php_http_utf8.h"/>
<file role="src" name="php_http_version.c"/>
<file role="src" name="php_http_version.h"/>
<dir name="tests">
<file role="test" name="skipif.inc"/>
- <dir name="data">
- <file role="test" name="message_r_multipart_put.txt"/>
- <file role="test" name="message_rr_empty.txt"/>
- <file role="test" name="message_rr_empty_chunked.txt"/>
- <file role="test" name="message_rr_empty_gzip.txt"/>
- <file role="test" name="message_rr_helloworld_chunked.txt"/>
- <file role="test" name="urls.txt"/>
- </dir>
+ <dir name="data">
+ <file role="test" name="message_r_content_range.txt"/>
+ <file role="test" name="message_r_multipart_put.txt"/>
+ <file role="test" name="message_rr_empty.txt"/>
+ <file role="test" name="message_rr_empty_chunked.txt"/>
+ <file role="test" name="message_rr_empty_gzip.txt"/>
+ <file role="test" name="message_rr_helloworld_chunked.txt"/>
+ <file role="test" name="urls.txt"/>
+ </dir>
+ <dir name="helper">
+ <file role="test" name="cookie.inc"/>
+ <file role="test" name="dump.inc"/>
+ <file role="test" name="http2.crt"/>
+ <file role="test" name="http2.key"/>
+ <file role="test" name="pipeline.inc"/>
+ <file role="test" name="proxy.inc"/>
+ <file role="test" name="server.inc"/>
+ <file role="test" name="upload.inc"/>
+ <dir name="html">
+ <file role="test" name="index.html"/>
+ </dir>
+ </dir>
<file role="test" name="bug61444.phpt"/>
+ <file role="test" name="bug66388.phpt"/>
+ <file role="test" name="bug66891.phpt"/>
+ <file role="test" name="bug67932.phpt"/>
+ <file role="test" name="bug69000.phpt"/>
+ <file role="test" name="bug69076.phpt"/>
+ <file role="test" name="bug69313.phpt"/>
+ <file role="test" name="bug69357.phpt"/>
<file role="test" name="client001.phpt"/>
<file role="test" name="client002.phpt"/>
<file role="test" name="client003.phpt"/>
<file role="test" name="client011.phpt"/>
<file role="test" name="client012.phpt"/>
<file role="test" name="client013.phpt"/>
+ <file role="test" name="client014.phpt"/>
+ <file role="test" name="client015.phpt"/>
+ <file role="test" name="client016.phpt"/>
+ <file role="test" name="client017.phpt"/>
+ <file role="test" name="client018.phpt"/>
+ <file role="test" name="client019.phpt"/>
+ <file role="test" name="client020.phpt"/>
+ <file role="test" name="client021.phpt"/>
+ <file role="test" name="client022.phpt"/>
+ <file role="test" name="client023.phpt"/>
+ <file role="test" name="client024.phpt"/>
+ <file role="test" name="client025.phpt"/>
+ <file role="test" name="client026.phpt"/>
<file role="test" name="clientrequest001.phpt"/>
<file role="test" name="clientrequest002.phpt"/>
<file role="test" name="clientrequest003.phpt"/>
<file role="test" name="clientresponse001.phpt"/>
<file role="test" name="clientresponse002.phpt"/>
<file role="test" name="clientresponse003.phpt"/>
+ <file role="test" name="cookie001.phpt"/>
+ <file role="test" name="cookie002.phpt"/>
+ <file role="test" name="cookie003.phpt"/>
+ <file role="test" name="cookie004.phpt"/>
+ <file role="test" name="cookie005.phpt"/>
+ <file role="test" name="cookie006.phpt"/>
+ <file role="test" name="cookie007.phpt"/>
+ <file role="test" name="cookie008.phpt"/>
+ <file role="test" name="cookie009.phpt"/>
+ <file role="test" name="cookie010.phpt"/>
+ <file role="test" name="cookie011.phpt"/>
+ <file role="test" name="cookie012.phpt"/>
+ <file role="test" name="encstream001.phpt"/>
+ <file role="test" name="encstream002.phpt"/>
+ <file role="test" name="encstream003.phpt"/>
+ <file role="test" name="encstream004.phpt"/>
+ <file role="test" name="encstream005.phpt"/>
+ <file role="test" name="encstream006.phpt"/>
+ <file role="test" name="encstream007.phpt"/>
+ <file role="test" name="encstream008.phpt"/>
+ <file role="test" name="encstream009.phpt"/>
<file role="test" name="envrequestbody001.phpt"/>
- <file role="test" name="envrequestbody002.phpt"/>
- <file role="test" name="envrequestbody003.phpt"/>
+ <file role="test" name="envrequestcookie001.phpt"/>
<file role="test" name="envrequestfiles001.phpt"/>
<file role="test" name="envrequestfiles002.phpt"/>
<file role="test" name="envrequestform.phpt"/>
<file role="test" name="envrequestheader001.phpt"/>
- <file role="test" name="envrequestjson001.phpt"/>
- <file role="test" name="envrequestjson002.phpt"/>
<file role="test" name="envrequestquery.phpt"/>
<file role="test" name="envresponse001.phpt"/>
<file role="test" name="envresponse002.phpt"/>
<file role="test" name="envresponse012.phpt"/>
<file role="test" name="envresponse013.phpt"/>
<file role="test" name="envresponse014.phpt"/>
+ <file role="test" name="envresponse015.phpt"/>
+ <file role="test" name="envresponse016.phpt"/>
+ <file role="test" name="envresponse017.phpt"/>
+ <file role="test" name="envresponse018.phpt"/>
<file role="test" name="envresponsebody001.phpt"/>
<file role="test" name="envresponsebody002.phpt"/>
<file role="test" name="envresponsecodes.phpt"/>
+ <file role="test" name="envresponsecookie001.phpt"/>
<file role="test" name="envresponseheader001.phpt"/>
<file role="test" name="envresponseranges001.phpt"/>
<file role="test" name="etag001.phpt"/>
<file role="test" name="filterchunked.phpt"/>
<file role="test" name="filterzlib.phpt"/>
+ <file role="test" name="gh-issue6.phpt"/>
+ <file role="test" name="gh-issue7.phpt"/>
<file role="test" name="header001.phpt"/>
<file role="test" name="header002.phpt"/>
<file role="test" name="header003.phpt"/>
<file role="test" name="header007.phpt"/>
<file role="test" name="header008.phpt"/>
<file role="test" name="header009.phpt"/>
- <file role="test" name="info_001.phpt"/>
- <file role="test" name="info.phpt"/>
+ <file role="test" name="headerparser001.phpt"/>
+ <file role="test" name="headerparser002.phpt"/>
+ <file role="test" name="headerparser003.phpt"/>
+ <file role="test" name="info001.phpt"/>
+ <file role="test" name="info002.phpt"/>
<file role="test" name="message001.phpt"/>
<file role="test" name="message002.phpt"/>
<file role="test" name="message003.phpt"/>
<file role="test" name="message013.phpt"/>
<file role="test" name="message014.phpt"/>
<file role="test" name="message015.phpt"/>
+ <file role="test" name="message016.phpt"/>
+ <file role="test" name="messagebody001.phpt"/>
+ <file role="test" name="messagebody002.phpt"/>
+ <file role="test" name="messagebody003.phpt"/>
+ <file role="test" name="messagebody004.phpt"/>
+ <file role="test" name="messagebody005.phpt"/>
+ <file role="test" name="messagebody006.phpt"/>
+ <file role="test" name="messagebody007.phpt"/>
+ <file role="test" name="messagebody008.phpt"/>
+ <file role="test" name="messagebody009.phpt"/>
+ <file role="test" name="messagebody010.phpt"/>
+ <file role="test" name="messageparser001.phpt"/>
+ <file role="test" name="messageparser002.phpt"/>
<file role="test" name="negotiate001.phpt"/>
- <file role="test" name="object001.phpt"/>
- <file role="test" name="object002.phpt"/>
- <file role="test" name="object003.phpt"/>
- <file role="test" name="object004.phpt"/>
- <file role="test" name="object005.phpt"/>
- <file role="test" name="object006.phpt"/>
- <file role="test" name="object007.phpt"/>
- <file role="test" name="object008.phpt"/>
- <file role="test" name="object009.phpt"/>
<file role="test" name="params001.phpt"/>
<file role="test" name="params002.phpt"/>
- <file role="test" name="phpunit.phpt"/>
+ <file role="test" name="params003.phpt"/>
+ <file role="test" name="params004.phpt"/>
+ <file role="test" name="params005.phpt"/>
+ <file role="test" name="params006.phpt"/>
+ <file role="test" name="params007.phpt"/>
+ <file role="test" name="params008.phpt"/>
+ <file role="test" name="params009.phpt"/>
+ <file role="test" name="params010.phpt"/>
+ <file role="test" name="params011.phpt"/>
+ <file role="test" name="params012.phpt"/>
+ <file role="test" name="params013.phpt"/>
+ <file role="test" name="params014.phpt"/>
+ <file role="test" name="params015.phpt"/>
+ <file role="test" name="params016.phpt"/>
+ <file role="test" name="params017.phpt"/>
+ <file role="test" name="phpinfo.phpt"/>
<file role="test" name="propertyproxy001.phpt"/>
- <file role="test" name="querystring_001.phpt"/>
+ <file role="test" name="querystring001.phpt"/>
+ <file role="test" name="querystring002.phpt"/>
+ <file role="test" name="querystring003.phpt"/>
<file role="test" name="serialize001.phpt"/>
<file role="test" name="url001.phpt"/>
+ <file role="test" name="url002.phpt"/>
+ <file role="test" name="url003.phpt"/>
+ <file role="test" name="url004.phpt"/>
+ <file role="test" name="url005.phpt"/>
+ <file role="test" name="urlparser001.phpt"/>
+ <file role="test" name="urlparser002.phpt"/>
+ <file role="test" name="urlparser003.phpt"/>
+ <file role="test" name="urlparser004.phpt"/>
+ <file role="test" name="urlparser005.phpt"/>
+ <file role="test" name="urlparser006.phpt"/>
+ <file role="test" name="urlparser007.phpt"/>
+ <file role="test" name="urlparser008.phpt"/>
+ <file role="test" name="urlparser009.phpt"/>
+ <file role="test" name="urlparser010.phpt"/>
+ <file role="test" name="urlparser011.phpt"/>
<file role="test" name="version001.phpt"/>
</dir>
- <dir name="phpunit">
- <file role="test" name="CookieTest.php"/>
- <file role="test" name="EncodingTest.php"/>
- <file role="test" name="MessageBodyTest.php"/>
- <file role="test" name="ParamsTest.php"/>
- <file role="test" name="QueryStringTest.php"/>
- <file role="test" name="UrlTest.php"/>
- </dir>
</dir>
</contents>
<dependencies>
<required>
<php>
<min>5.3.0</min>
+ <max>7.0.0</max>
+ <exclude>7.0.0</exclude>
</php>
<pearinstaller>
<min>1.4.1</min>
<package>
<name>raphf</name>
<channel>pecl.php.net</channel>
- <min>0.1.0</min>
+ <min>1.1.0</min>
<providesextension>raphf</providesextension>
</package>
<package>
<name>propro</name>
<channel>pecl.php.net</channel>
- <min>0.1.0</min>
+ <min>1.0.0</min>
<providesextension>propro</providesextension>
</package>
</required>
</dependencies>
<providesextension>http</providesextension>
<extsrcrelease>
- <configureoption
- name="with-http"
- prompt="Enable extended HTTP support"
- default="yes" />
<configureoption
name="with-http-zlib-dir"
prompt="where to find zlib"
name="with-http-libevent-dir"
prompt="where to find libevent"
default="/usr" />
- <filelist>
- <!-- install as="http.ini" name="docs/http.ini"/>
- <install as="examples/tutorial.txt" name="docs/examples/tutorial.txt"/>
- <install as="pecl/http/.php" name="lib/.php"/ -->
- </filelist>
- </extsrcrelease>
+ <configureoption
+ name="with-http-libidn-dir"
+ prompt="where to find libidn"
+ default="/usr" />
+ </extsrcrelease>
<changelog />
</package>