* 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;
- Nevertheless, you have to use the http\Request\Factory to create your request/pool/datashare objects.
+* 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-03-23</date>
+ <date>2012-12-13</date>
<version>
- <release>2.0.0dev9</release>
+ <release>2.0.0beta3</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[
-+ Added population of $_POST and $_FILES for non-POST requests
-- Renamed http\Env\Request::getPost() to ::getForm()
-- Changed http\Env\Response::setContentDisposition() to take an http\Params like array as argument
-- Removed http\Env\Response::CONTENT_DISPOSOTION_* constants
-- Removed http\Request\Method class; request methods are now used as simple strings
+! >80% test coverage http://goo.gl/YCV74
+* Fixed http\Env\Response throttling
+* Fixed http\Env\Response caching by last-modified
+* Fixed http\Message::addBody()
+* Fixed http\Message::parentMessage write access
+* Fixed crash with freed but not nulled event_base pointer
+* Fixed crash with null pointer dereference on http\Encoding\Stream::flush()
+* Fixed some memory leaks
++ Added http\Header::negotiate()
++ Added http\Header::parse()
]]></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_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_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_serf.h"/>
<file role="src" name="php_http_strlist.c"/>
<file role="src" name="php_http_strlist.h"/>
<file role="src" name="php_http_url.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" />
<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="message005.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="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"/>
<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>