<channel>pecl.php.net</channel>
<summary>Extended HTTP Support</summary>
<description><![CDATA[
-Extended HTTP support. Again.
+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.
]]></description>
<lead>
<name>Michael Wallner</name>
<email>mike@php.net</email>
<active>yes</active>
</lead>
- <date>2012-01-16</date>
+ <date>2012-12-31</date>
<version>
- <release>2.0.0dev3</release>
+ <release>2.0.0beta4</release>
<api>2.0.0</api>
</version>
<stability>
- <release>devel</release>
- <api>devel</api>
+ <release>beta</release>
+ <api>beta</api>
</stability>
<license>BSD, revised</license>
<notes><![CDATA[
-This is to become v2 of the known pecl_http extension.
-It is completely incompatible to previous version.
-Try it, or let it be. If you are not sure, let it be. Really.
-
-List of changes (TBD):
-* Everything lives below the http namespace
-* The message body is implemented as a temp stream instead of a chunk of memory
-* The utterly misunderstood HttpResponse class has been reimplemented in the http\env namespace
-* There's only http\Exception
-* Every instance follows http\Object::$defaultErrorHandling or inherited http\Object->errorHandling, but only for errors generated by the extension itself
-* You have to use the http\Request\Factory to create your requests/pools/datashares
+! >80% test coverage http://goo.gl/VmyIW
+* Fixed build with libcurl <= 7.21.3
+* Fixed var_dump of http\Message with inherited userland properties with increased access level
++ Added http\Header::getParams()
++ Added simple support for escapes and quotes in the params parser
++ Added support for sending http\Env\Response over PHP streams
++ Added message body reference counting
]]></notes>
<contents>
<dir name="/">
<file role="doc" name="ThanksTo.txt"/>
<file role="src" name="config.m4"/>
<file role="src" name="config9.m4"/>
-
+
<file role="src" name="php_http_api.h"/>
<file role="src" name="php_http_buffer.c"/>
<file role="src" name="php_http_buffer.h"/>
<file role="src" name="php_http.c"/>
+ <file role="src" name="php_http_client.c"/>
+ <file role="src" name="php_http_client_datashare.c"/>
+ <file role="src" name="php_http_client_datashare.h"/>
+ <file role="src" name="php_http_client_factory.c"/>
+ <file role="src" name="php_http_client_factory.h"/>
+ <file role="src" name="php_http_client.h"/>
+ <file role="src" name="php_http_client_interface.c"/>
+ <file role="src" name="php_http_client_interface.h"/>
+ <file role="src" name="php_http_client_pool.c"/>
+ <file role="src" name="php_http_client_pool.h"/>
+ <file role="src" name="php_http_client_request.c"/>
+ <file role="src" name="php_http_client_request.h"/>
+ <file role="src" name="php_http_client_response.c"/>
+ <file role="src" name="php_http_client_response.h"/>
<file role="src" name="php_http_cookie.c"/>
<file role="src" name="php_http_cookie.h"/>
<file role="src" name="php_http_curl.c"/>
+ <file role="src" name="php_http_curl_client.c"/>
+ <file role="src" name="php_http_curl_client_datashare.c"/>
+ <file role="src" name="php_http_curl_client_datashare.h"/>
+ <file role="src" name="php_http_curl_client.h"/>
+ <file role="src" name="php_http_curl_client_pool.c"/>
+ <file role="src" name="php_http_curl_client_pool.h"/>
<file role="src" name="php_http_curl.h"/>
<file role="src" name="php_http_encoding.c"/>
<file role="src" name="php_http_encoding.h"/>
<file role="src" name="php_http_env.c"/>
<file role="src" name="php_http_env.h"/>
+ <file role="src" name="php_http_env_request.c"/>
+ <file role="src" name="php_http_env_request.h"/>
<file role="src" name="php_http_env_response.c"/>
<file role="src" name="php_http_env_response.h"/>
<file role="src" name="php_http_etag.c"/>
<file role="src" name="php_http_negotiate.h"/>
<file role="src" name="php_http_object.c"/>
<file role="src" name="php_http_object.h"/>
+ <file role="src" name="php_http_options.c"/>
+ <file role="src" name="php_http_options.h"/>
<file role="src" name="php_http_params.c"/>
<file role="src" name="php_http_params.h"/>
<file role="src" name="php_http_persistent_handle.c"/>
<file role="src" name="php_http_property_proxy.h"/>
<file role="src" name="php_http_querystring.c"/>
<file role="src" name="php_http_querystring.h"/>
- <file role="src" name="php_http_request.c"/>
- <file role="src" name="php_http_request_datashare.c"/>
- <file role="src" name="php_http_request_datashare.h"/>
- <file role="src" name="php_http_request_factory.c"/>
- <file role="src" name="php_http_request_factory.h"/>
- <file role="src" name="php_http_request.h"/>
- <file role="src" name="php_http_request_method.c"/>
- <file role="src" name="php_http_request_method.h"/>
- <file role="src" name="php_http_request_pool.c"/>
- <file role="src" name="php_http_request_pool.h"/>
<file role="src" name="php_http_resource_factory.c"/>
<file role="src" name="php_http_resource_factory.h"/>
<file role="src" name="php_http_strlist.c"/>
<file role="src" name="php_http_url.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="HttpRequestPool_cache" />
+ <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>
+ <file role="test" name="bug61444.phpt"/>
+ <file role="test" name="clientpool002.phpt"/>
+ <file role="test" name="envrequestbody001.phpt"/>
+ <file role="test" name="envrequestbody002.phpt"/>
+ <file role="test" name="envrequestbody003.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="envrequestquery.phpt"/>
+ <file role="test" name="envresponsecodes.phpt"/>
+ <file role="test" name="envresponseheader001.phpt"/>
+ <file role="test" name="envresponseranges001.phpt"/>
+ <file role="test" name="etag001.phpt"/>
+ <file role="test" name="factory.phpt"/>
+ <file role="test" name="filterchunked.phpt"/>
+ <file role="test" name="filterzlib.phpt"/>
+ <file role="test" name="info.phpt"/>
+ <file role="test" name="info_001.phpt"/>
+ <file role="test" name="message001.phpt"/>
+ <file role="test" name="message002.phpt"/>
+ <file role="test" name="message003.phpt"/>
+ <file role="test" name="message004.phpt"/>
+ <file role="test" name="message005.phpt"/>
+ <file role="test" name="message006.phpt"/>
+ <file role="test" name="negotiate001.phpt"/>
+ <file role="test" name="params001.phpt"/>
+ <file role="test" name="params002.phpt"/>
+ <file role="test" name="persistenthandles001.phpt"/>
+ <file role="test" name="phpunit.phpt"/>
+ <file role="test" name="propertyproxy001.phpt"/>
+ <file role="test" name="querystring_001.phpt"/>
+ <file role="test" name="requestpool001.phpt"/>
+ <file role="test" name="response001.phpt"/>
+ <file role="test" name="response002.phpt"/>
+ <file role="test" name="response003.phpt"/>
+ <file role="test" name="response004.phpt"/>
+ <file role="test" name="response005.phpt"/>
+ <file role="test" name="serialize001.phpt"/>
+ <file role="test" name="url001.phpt"/>
+ </dir>
+ <dir name="phpunit">
+ <file role="test" name="ClientRequestTest.php"/>
+ <file role="test" name="CookieTest.php"/>
+ <file role="test" name="DataShareTest.php"/>
+ <file role="test" name="EncodingTest.php"/>
+ <file role="test" name="HeaderTest.php"/>
+ <file role="test" name="MessageTest.php"/>
+ <file role="test" name="MessageBodyTest.php"/>
+ <file role="test" name="ObjectTest.php"/>
+ <file role="test" name="ParamsTest.php"/>
+ <file role="test" name="PoolTest.php"/>
+ <file role="test" name="QueryStringTest.php"/>
+ <file role="test" name="RequestTest.php"/>
+ <file role="test" name="UrlTest.php"/>
+ </dir>
</dir>
</contents>
<dependencies>
<required>
<php>
- <min>5.3.99</min>
+ <min>5.3.0</min>
</php>
<pearinstaller>
<min>1.4.1</min>
</pearinstaller>
</required>
<optional>
- <extension><name>session</name></extension>
<extension><name>hash</name></extension>
<extension><name>iconv</name></extension>
</optional>