change array_list API
[m6w6/ext-http] / package.xml
index 636317a123f0454bc398a9f469ce24691f4dc27b..e9148c143788c8562e4857b2c3fd87b5e0ce75cd 100644 (file)
  <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>
@@ -19,28 +26,27 @@ Extended HTTP support. Again.
   <email>mike@php.net</email>
   <active>yes</active>
  </lead>
- <date>2011-06-02</date>
+ <date>2012-11-29</date>
  <version>
-  <release>2.0.0dev1</release>
+  <release>2.0.0beta2</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
-* Supported request libraries: curl, neon
-* 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
+! >80% test coverage
+* Fixed http\Request\Pool with libevent2
+* Fixed http\Env\Request::getFiles() with multiple-file-uploads
+* Fixed PHP-5.3 compatibility
+* Fixed reference handling of http\Message\Body::getResource()
+* Fixed reading stream filters to correctly detect EOF of tmp and mem streams
+- Change: merge message headers with the same key
+- Change: the stream message parser can optionally return after each message
+- Change: you have to care yourself for Content headers if a message's body has a reading stream filter attached
++ Added http\Env::getResponseStatusForAllCodes()
 ]]></notes>
  <contents>
   <dir name="/">
@@ -50,26 +56,49 @@ List of changes (TBD):
    <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_etag.h"/>
    <file role="src" name="php_http_exception.c"/>
    <file role="src" name="php_http_exception.h"/>
    <file role="src" name="php_http_filter.c"/>
    <file role="src" name="php_http_filter.h"/>
-   <file role="src" name="php_http_fluently_callable.c"/>
-   <file role="src" name="php_http_fluently_callable.h"/>
    <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"/>
@@ -87,8 +116,6 @@ List of changes (TBD):
    <file role="src" name="php_http_misc.h"/>
    <file role="src" name="php_http_negotiate.c"/>
    <file role="src" name="php_http_negotiate.h"/>
-   <file role="src" name="php_http_neon.c"/>
-   <file role="src" name="php_http_neon.h"/>
    <file role="src" name="php_http_object.c"/>
    <file role="src" name="php_http_object.h"/>
    <file role="src" name="php_http_params.c"/>
@@ -99,17 +126,6 @@ List of changes (TBD):
    <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_info.c"/>
-   <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"/>
@@ -118,19 +134,80 @@ List of changes (TBD):
    <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="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_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="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="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="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>
@@ -149,14 +226,6 @@ List of changes (TBD):
    name="with-http-libcurl-dir"
    prompt="where to find libcurl"
    default="/usr" />
-  <configureoption
-   name="with-http-libneon-dir"
-   prompt="where to find libneon"
-   default="/usr" />
-  <configureoption
-   name="with-http-libserf-dir"
-   prompt="where to find libserf"
-   default="/usr" />
   <configureoption
    name="with-http-libevent-dir"
    prompt="where to find libevent"