<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.
]]></description>
<lead>
<name>Michael Wallner</name>
<email>mike@php.net</email>
<active>yes</active>
</lead>
- <date>2005-00-00</date>
+ <date>2008-10-20</date>
<version>
- <release>0.18.0dev</release>
- <api>0.18.0</api>
+ <release>1.6.2</release>
+ <api>1.6.0</api>
</version>
<stability>
- <release>beta</release>
- <api>beta</api>
+ <release>stable</release>
+ <api>stable</api>
</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
-
-* Fixed a bug that caused a warning about an invalid curl handle at HttpRequestPool destruction
+* Fixed PHP-5.3 API incompatibilities (including bug #15065)
+* Fixed memory corruption with headers and HttpRequest
+* Fixed crash in HttpMessage::unserialize()
+* Fixed bug #14826 (race condition in http_request_dtor)
]]></notes>
<contents>
<dir name="/">
<file role="doc" name="LICENSE"/>
<file role="doc" name="CREDITS"/>
- <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="ThanksTo.txt"/>
+ <file role="doc" name="docs/http.ini"/>
<file role="doc" name="docs/examples/tutorial.txt"/>
<file role="src" name="http.dsp"/>
<file role="src" name="config.w32"/>
<file role="src" name="config.m4"/>
+ <file role="src" name="config9.m4"/>
<file role="src" name="Makefile.frag"/>
<dir name="phpstr">
<file role="src" name="php_http_std_defs.h"/>
<file role="src" name="php_http_api.h"/>
<file role="src" name="php_http_cache_api.h"/>
+ <file role="src" name="php_http_cookie_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_persistent_handle_api.h"/>
+ <file role="src" name="php_http_querystring_api.h"/>
<file role="src" name="php_http_request_api.h"/>
+ <file role="src" name="php_http_request_int.h"/>
+ <file role="src" name="php_http_request_body_api.h"/>
+ <file role="src" name="php_http_request_datashare_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_querystring_object.h"/>
<file role="src" name="php_http_request_object.h"/>
+ <file role="src" name="php_http_requestdatashare_object.h"/>
<file role="src" name="php_http_requestpool_object.h"/>
<file role="src" name="php_http_response_object.h"/>
<file role="src" name="php_http_exception_object.h"/>
<file role="src" name="http_functions.c"/>
<file role="src" name="http_api.c"/>
<file role="src" name="http_cache_api.c"/>
+ <file role="src" name="http_cookie_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_persistent_handle_api.c"/>
+ <file role="src" name="http_querystring_api.c"/>
<file role="src" name="http_request_api.c"/>
+ <file role="src" name="http_request_info.c"/>
+ <file role="src" name="http_request_body_api.c"/>
+ <file role="src" name="http_request_datashare_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_querystring_object.c"/>
<file role="src" name="http_request_object.c"/>
+ <file role="src" name="http_requestdatashare_object.c"/>
<file role="src" name="http_requestpool_object.c"/>
<file role="src" name="http_response_object.c"/>
<file role="src" name="http_exception_object.c"/>
+ <dir name="lib">
+ <file role="php" name="BigGet.php"/>
+ <file role="php" name="FeedAggregator.php"/>
+ <file role="php" name="PgLobStream.php"/>
+ <file role="php" name="XmlRpcClient.php"/>
+ <file role="php" name="XmlRpcServer.php"/>
+ </dir>
+
<dir name="tests">
<file role="test" name="data.txt"/>
<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="allowed_methods_002.phpt"/>
+ <file role="test" name="build_str_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="build_url_004.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_003.phpt"/>
- <file role="test" name="etag_mode_004.phpt"/>
- <file role="test" name="etag_mode_011.phpt"/>
- <file role="test" name="etag_mode_012.phpt"/>
- <file role="test" name="etag_mode_013.phpt"/>
- <file role="test" name="etag_mode_014.phpt"/>
<file role="test" name="etag_mode_031.phpt"/>
<file role="test" name="etag_mode_032.phpt"/>
<file role="test" name="etag_mode_033.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="HttpMessage_007.phpt"/>
+ <file role="test" name="HttpQueryString_001.phpt"/>
+ <file role="test" name="HttpQueryString_002.phpt"/>
+ <file role="test" name="HttpQueryString_003.phpt"/>
+ <file role="test" name="HttpQueryString_004.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="HttpRequest_010.phpt"/>
+ <file role="test" name="HttpRequestDataShare_001.phpt"/>
+ <file role="test" name="HttpRequestDataShare_002.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="HttpRequestPool_006.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="HttpResponse_005.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_cookie_001.phpt"/>
+ <file role="test" name="parse_cookie_002.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="redirect_001.phpt"/>
- <file role="test" name="redirect_001_logging.phpt"/>
- <file role="test" name="redirect_002.phpt"/>
- <file role="test" name="redirect_002_logging.phpt"/>
- <file role="test" name="redirect_003.phpt"/>
- <file role="test" name="redirect_003_logging.phpt"/>
- <file role="test" name="redirect_011.phpt"/>
+ <file role="test" name="parse_message_005.phpt"/>
+ <file role="test" name="parse_params_001.phpt"/>
+ <file role="test" name="persistent_handles_001.phpt"/>
+ <file role="test" name="persistent_handles_002.phpt"/>
+ <file role="test" name="persistent_handles_003.phpt"/>
<file role="test" name="redirect_011_logging.phpt"/>
- <file role="test" name="redirect_012.phpt"/>
+ <file role="test" name="redirect_011.phpt"/>
<file role="test" name="redirect_012_logging.phpt"/>
- <file role="test" name="redirect_013.phpt"/>
+ <file role="test" name="redirect_012.phpt"/>
<file role="test" name="redirect_013_logging.phpt"/>
+ <file role="test" name="redirect_013.phpt"/>
+ <file role="test" name="request_cookies.phpt"/>
+ <file role="test" name="request_etag.phpt"/>
<file role="test" name="request_gzip.phpt"/>
<file role="test" name="request_methods.phpt"/>
+ <file role="test" name="request_put_data.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"/>
<file role="test" name="send_data_004.phpt"/>
<file role="test" name="send_data_005.phpt"/>
<file role="test" name="send_data_006.phpt"/>
- <file role="test" name="send_data_007_logging.phpt"/>
- <file role="test" name="send_data_008.phpt"/>
- <file role="test" name="send_data_009.phpt"/>
<file role="test" name="send_data_010.phpt"/>
<file role="test" name="send_data_011.phpt"/>
- <file role="test" name="send_file_001.phpt"/>
- <file role="test" name="send_file_002.phpt"/>
- <file role="test" name="send_file_003.phpt"/>
- <file role="test" name="send_file_004.phpt"/>
+ <file role="test" name="send_failed_precond_001.phpt"/>
<file role="test" name="send_file_005.phpt"/>
- <file role="test" name="send_file_006.phpt"/>
- <file role="test" name="send_file_007.phpt"/>
<file role="test" name="send_file_008.phpt"/>
<file role="test" name="send_file_009.phpt"/>
<file role="test" name="send_file_010.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="send_ifrange_001.phpt"/>
+ <file role="test" name="send_ifrange_003.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"/>
</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>
+ <extension><name>iconv</name></extension>
</optional>
</dependencies>
<providesextension>http</providesextension>
default="yes"
/>
<configureoption
- name="with-http-mhash-etags"
- prompt="whether to enable mhash ETag generator; specify libmhash directory"
+ name="with-http-zlib-compression"
+ prompt="whether to enable support for gzencoded/deflated message bodies; specify zlib directory"
default="yes"
/>
<configureoption
default="no"
/>
<configureoption
- name="with-http-zlib-compression"
- prompt="whether to enable support for gzencoded/deflated message bodies; specify zlib directory"
+ name="with-http-shared-deps"
+ prompt="whether to depend on extensions which have been built shared"
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="http.ini" name="docs/http.ini"/>
<install as="examples/tutorial.txt" name="docs/examples/tutorial.txt"/>
+ <install as="pecl/http/BigGet.php" name="lib/BigGet.php"/>
+ <install as="pecl/http/FeedAggregator.php" name="lib/FeedAggregator.php"/>
+ <install as="pecl/http/PgLobStream.php" name="lib/PgLobStream.php"/>
+ <install as="pecl/http/XmlRpcClient.php" name="lib/XmlRpcClient.php"/>
+ <install as="pecl/http/XmlRpcServer.php" name="lib/XmlRpcServer.php"/>
</filelist>
</extsrcrelease>
<changelog />