<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,
+HttpDeflateStream, HttpInflateStream
+
+PHP-5.1 classes:
+HttpResponse
]]></description>
<lead>
<name>Michael Wallner</name>
<email>mike@php.net</email>
<active>yes</active>
</lead>
- <date>2005-00-00</date>
+ <date>2006-00-00</date>
<version>
- <release>0.18.0dev</release>
- <api>0.18.0</api>
+ <release>0.22.0-dev</release>
+ <api>0.22.0</api>
</version>
<stability>
<release>beta</release>
</stability>
<license>BSD, revised</license>
<notes><![CDATA[
-+ Classes HttpMessage and HttpRequestPool implement Countable if PHP >= 5.1 with SPL is available
-+ Class HttpMessage implements Serializable if PHP >= 5.1 is available
++ Added HTTP 'protocol' version request option. (Ilia)
++ Added optional class_name param to HttpMessage::fromString()
++ Added HttpMessage::toMessageTypeObject(), HttpMessage::detach(), HttpMessage::prepend()
++ Added Iterator interface to HttpMessage
++ Added http_get_request_body_stream()
-* Fixed a bug that caused a warning about an invalid curl handle at HttpRequestPool destruction
+- Don't pretend anylonger to understand 'compress' Content-Encoding.
+- Changed http_redirect() to PHPs behaviour by default.
+- Sending an User-Agent can now be prevented by setting 'useragent' to NULL or empty string. (Ilia)
+- Enable curl and zlib functionality by default in configure
+
+* Decreased the per-request calls to curl_easy_setopt()
+* Fixed gnutls ZTS build
+* Fixed some issues with http_get_request_body()
]]></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="php_http_url_api.h"/>
<file role="src" name="php_http_util_object.h"/>
+ <file role="src" name="php_http_deflatestream_object.h"/>
+ <file role="src" name="php_http_inflatestream_object.h"/>
<file role="src" name="php_http_message_object.h"/>
<file role="src" name="php_http_request_object.h"/>
<file role="src" name="php_http_requestpool_object.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="src" name="http_url_api.c"/>
<file role="src" name="http_util_object.c"/>
+ <file role="src" name="http_deflatestream_object.c"/>
+ <file role="src" name="http_inflatestream_object.c"/>
<file role="src" name="http_message_object.c"/>
<file role="src" name="http_request_object.c"/>
<file role="src" name="http_requestpool_object.c"/>
<file role="test" name="urls.txt"/>
<file role="test" name="skip.inc"/>
<file role="test" name="log.inc"/>
- <file role="test" name="abs_uri_001.phpt"/>
- <file role="test" name="abs_uri_002.phpt"/>
<file role="test" name="allowed_methods_001.phpt"/>
<file role="test" name="allowed_methods_001_logging.phpt"/>
<file role="test" name="allowed_methods_002.phpt"/>
<file role="test" name="allowed_methods_002_logging.phpt"/>
- <file role="test" name="build_uri_001.phpt"/>
+ <file role="test" name="build_url_001.phpt"/>
+ <file role="test" name="build_url_002.phpt"/>
+ <file role="test" name="build_url_003.phpt"/>
<file role="test" name="chunked_decode_001.phpt"/>
<file role="test" name="chunked_decode_002.phpt"/>
<file role="test" name="chunked_decode_003.phpt"/>
<file role="test" name="cloning_001.phpt"/>
<file role="test" name="date_001.phpt"/>
<file role="test" name="date_002.phpt"/>
+ <file role="test" name="encoding_objects_001.phpt"/>
<file role="test" name="encodings.phpt"/>
<file role="test" name="etag_mode_001.phpt"/>
<file role="test" name="etag_mode_002.phpt"/>
<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="HttpMessage_002.phpt"/>
<file role="test" name="HttpMessage_003.phpt"/>
+ <file role="test" name="HttpMessage_004.phpt"/>
+ <file role="test" name="HttpMessage_005.phpt"/>
+ <file role="test" name="HttpMessage_006.phpt"/>
<file role="test" name="HttpRequest_001.phpt"/>
<file role="test" name="HttpRequest_002.phpt"/>
<file role="test" name="HttpRequest_003.phpt"/>
+ <file role="test" name="HttpRequest_004.phpt"/>
+ <file role="test" name="HttpRequest_005.phpt"/>
+ <file role="test" name="HttpRequest_006.phpt"/>
+ <file role="test" name="HttpRequest_007.phpt"/>
+ <file role="test" name="HttpRequest_008.phpt"/>
+ <file role="test" name="HttpRequest_009.phpt"/>
<file role="test" name="HttpRequestPool_001.phpt"/>
<file role="test" name="HttpRequestPool_002.phpt"/>
<file role="test" name="HttpRequestPool_003.phpt"/>
+ <file role="test" name="HttpRequestPool_004.phpt"/>
+ <file role="test" name="HttpRequestPool_005.phpt"/>
<file role="test" name="HttpResponse_001.phpt"/>
<file role="test" name="HttpResponse_002.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="ob_deflatehandler_001.phpt"/>
+ <file role="test" name="ob_inflatehandler_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="send_file_011.phpt"/>
<file role="test" name="send_file_012.phpt"/>
<file role="test" name="send_file_013.phpt"/>
+ <file role="test" name="stream_filters_001.phpt"/>
+ <file role="test" name="stream_filters_002.phpt"/>
+ <file role="test" name="stream_filters_003.phpt"/>
+ <file role="test" name="ut_HttpMessage.phpt"/>
+ <file role="test" name="ut_HttpUtil.phpt"/>
</dir>
</dir>
</contents>
</pearinstaller>
</required>
<optional>
- <extension>
- <name>session</name>
- </extension>
+ <extension><name>spl</name></extension>
+ <extension><name>session</name></extension>
+ <extension><name>hash</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"
default="no"
/>
<configureoption
- name="with-zlib-compression"
+ name="with-http-zlib-compression"
prompt="whether to enable support for gzencoded/deflated message bodies; specify zlib directory"
default="yes"
/>
<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>