- using Accept-Encoding header instead of CURLOPT_ENCODING avoids issues with curl...
[m6w6/ext-http] / package2.xml
index 6dd18271cdaaa0baa89cf12fe5165b0414b6e576..73838c65ab3f6a5bdec8cdb6dd54813c635e21e1 100644 (file)
  <channel>pecl.php.net</channel>
  <summary>Extended HTTP Support</summary>
  <description><![CDATA[
-* Building absolute URLs
-* RFC compliant HTTP redirects
-* RFC compliant HTTP date handling
-* Parsing of HTTP headers and messages
-* Caching by "Last-Modified" and/or ETag
-  (with 'on the fly' option for ETag generation from buffered output)
-* Sending data/files/streams with (multiple) ranges support
-* Negotiating user preferred language/charset
-* Convenient request functionality built upon libcurl
-* PHP5 classes: HttpUtil, HttpResponse (PHP-5.1), HttpRequest, HttpRequestPool, HttpMessage
+This HTTP extension aims to provide a convenient and powerful 
+set of functionality for one of PHPs major applications.
+
+It eases handling of HTTP urls, dates, redirects, headers and 
+messages, provides means for negotiation of clients preferred 
+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.
+
+PHP-5 classes:
+HttpUtil, HttpMessage, HttpRequest, HttpRequestPool; HttpResponse (PHP-5.1)
 ]]></description>
  <lead>
   <name>Michael Wallner</name>
@@ -30,8 +33,8 @@
  </lead>
  <date>2005-00-00</date>
  <version>
-  <release>0.18.0dev</release>
-  <api>0.18.0</api>
+  <release>0.20.0</release>
+  <api>0.20.0</api>
  </version>
  <stability>
   <release>beta</release>
  </stability>
  <license>BSD, revised</license>
  <notes><![CDATA[
-+ Added INI setting http.force_exit which can be used to disable script termination
-  in case of redirects and positive cache hits (instead, standard output will be discarded)
-+ Classes HttpMessage and HttpRequestPool implement Countable if PHP >= 5.1 with SPL is available
-+ Class HttpMessage implements Serializable if PHP >= 5.1 is available
+! Request functionality requires libcurl >= 7.12.3 now
+
++ Added 'bodyonly' request option
++ Added IOCTL callback for cURL
++ Added ssl_engines array and cookies array to the request info array
++ Added http_parse_cookie() to parse Set-Cookie headers
 
-* Fixed a bug that caused a warning about an invalid curl handle at HttpRequestPool destruction
-* Fixed a bug with http_get_request_headers() modifying $_SERVER array
+- Renamed http_connectcode to connect_code in the request info array
+- Enable "original headers" previously stripped off by the message parser:
+       o X-Original-Transfer-Encoding (Transfer-Encoding)
+       o X-Original-Content-Encoding (Content-Encoding)
+       o X-Original-Content-Length (Content-Length)
+- RequestExceptions thrown by HttpRequestPool::__construct() and send() are
+  now wrapped into the HttpRequestPoolException object's $exceptionStack property
+- Removed http_compress() and http_uncompress() (http_deflate/inflate ambiguity)
+
+* Fixed bug which caused GZIP encoded archives to be decoded
+* Fixed bug with DEFLATE encoded response messages
+* Fixed several memory leaks and inconspicuous access violations
+* Fixed some logical errors in the uri builder
 ]]></notes>
  <contents>
   <dir name="/">
    <file role="doc" name="EXPERIMENTAL"/>
    <file role="doc" name="KnownIssues.txt"/>
    <file role="doc" name="docs/functions.html"/>
-   <file role="doc" name="docs/examples/Bandwidth_Throttling.php"/>
-   <file role="doc" name="docs/examples/Cached_Responses.php"/>
-   <file role="doc" name="docs/examples/GET_Queries.php"/>
-   <file role="doc" name="docs/examples/KISS_XMLRPC_Client.php"/>
-   <file role="doc" name="docs/examples/Multipart_Posts.php"/>
-   <file role="doc" name="docs/examples/Parallel_Requests.php"/>
-   <file role="doc" name="docs/examples/Parallel_Requests_.php"/>
-   <file role="doc" name="docs/examples/Simple_Feed_Aggregator.php"/>
    <file role="doc" name="docs/examples/extract.php"/>
    <file role="doc" name="docs/examples/tutorial.txt"/>
    
    <file role="src" name="php_http_cache_api.h"/>
    <file role="src" name="php_http_date_api.h"/>
    <file role="src" name="php_http_encoding_api.h"/>
+   <file role="src" name="php_http_filter_api.h"/>
    <file role="src" name="php_http_headers_api.h"/>
    <file role="src" name="php_http_info_api.h"/>
    <file role="src" name="php_http_message_api.h"/>
    <file role="src" name="php_http_request_api.h"/>
+   <file role="src" name="php_http_request_body_api.h"/>
    <file role="src" name="php_http_request_method_api.h"/>
    <file role="src" name="php_http_request_pool_api.h"/>
    <file role="src" name="php_http_send_api.h"/>
    <file role="src" name="http_cache_api.c"/>
    <file role="src" name="http_date_api.c"/>
    <file role="src" name="http_encoding_api.c"/>
+   <file role="src" name="http_filter_api.c"/>
    <file role="src" name="http_headers_api.c"/>
    <file role="src" name="http_info_api.c"/>
    <file role="src" name="http_message_api.c"/>
    <file role="src" name="http_request_api.c"/>
+   <file role="src" name="http_request_body_api.c"/>
    <file role="src" name="http_request_method_api.c"/>
    <file role="src" name="http_request_pool_api.c"/>
    <file role="src" name="http_send_api.c"/>
     <file role="test" name="etag_mode_042.phpt"/>
     <file role="test" name="etag_mode_043.phpt"/>
     <file role="test" name="etag_mode_044.phpt"/>
-    <file role="test" name="etag_mode_crc.phpt"/>
     <file role="test" name="exceptions.phpt"/>
     <file role="test" name="get_request_data_001.phpt"/>
     <file role="test" name="HttpMessage_001.phpt"/>
     <file role="test" name="HttpResponse_003.phpt"/>
     <file role="test" name="HttpResponse_004.phpt"/>
     <file role="test" name="INI_001.phpt"/>
+    <file role="test" name="match_request_header_001.phpt"/>
     <file role="test" name="negotiation_001.phpt"/>
     <file role="test" name="parse_headers_001.phpt"/>
     <file role="test" name="parse_message_001.phpt"/>
     <file role="test" name="parse_message_002.phpt"/>
     <file role="test" name="parse_message_003.phpt"/>
     <file role="test" name="parse_message_004.phpt"/>
+    <file role="test" name="parse_message_005.phpt"/>
     <file role="test" name="redirect_001.phpt"/>
     <file role="test" name="redirect_001_logging.phpt"/>
     <file role="test" name="redirect_002.phpt"/>
     <file role="test" name="redirect_013_logging.phpt"/>
     <file role="test" name="request_gzip.phpt"/>
     <file role="test" name="request_methods.phpt"/>
+    <file role="test" name="stream_filters_001.phpt"/>
     <file role="test" name="send_data_001.phpt"/>
     <file role="test" name="send_data_002.phpt"/>
     <file role="test" name="send_data_003.phpt"/>
    </pearinstaller>
   </required>
   <optional>
-   <extension>
-    <name>session</name>
-   </extension>
+   <extension><name>session</name></extension>
+   <extension><name>hash</name></extension>
+   <extension><name>zlib</name></extension>
   </optional>
  </dependencies>
  <providesextension>http</providesextension>
    prompt="whether to enable cURL HTTP requests; specify libcurl directory"
    default="yes"
   />
-  <configureoption
-   name="with-http-mhash-etags"
-   prompt="whether to enable mhash ETag generator; specify libmhash directory"
-   default="yes"
-  />
   <configureoption
    name="with-http-magic-mime"
    prompt="whether to enable response content type guessing; specify libmagic directory"
   />
   <filelist>
    <install as="functions.html" name="docs/functions.html"/>
-   <install as="examples/Bandwidth_Throttling.php" name="docs/examples/Bandwidth_Throttling.php"/>
-   <install as="examples/Cached_Responses.php" name="docs/examples/Cached_Responses.php"/>
-   <install as="examples/GET_Queries.php" name="docs/examples/GET_Queries.php"/>
-   <install as="examples/KISS_XMLRPC_Client.php" name="docs/examples/KISS_XMLRPC_Client.php"/>
-   <install as="examples/Multipart_Posts.php" name="docs/examples/Multipart_Posts.php"/>
-   <install as="examples/Parallel_Requests.php" name="docs/examples/Parallel_Requests.php"/>
-   <install as="examples/Parallel_Requests_.php" name="docs/examples/Parallel_Requests_.php"/>
-   <install as="examples/Simple_Feed_Aggregator.php" name="docs/examples/Simple_Feed_Aggregator.php"/>
    <install as="examples/extract.php" name="docs/examples/extract.php"/>
    <install as="examples/tutorial.txt" name="docs/examples/tutorial.txt"/>
   </filelist>