support. Parallel requests are available for PHP-5 and greater.
PHP-5 classes:
-HttpUtil, HttpMessage, HttpRequest, HttpRequestPool; HttpResponse (PHP-5.1)
+HttpUtil, HttpMessage, HttpRequest, HttpRequestPool,
+HttpDeflateStream, HttpInflateStream
+
+PHP-5.1 classes:
+HttpResponse
</description>
<maintainers>
<maintainer>
</maintainer>
</maintainers>
<release>
- <version>0.19.0</version>
- <date>2005-11-26</date>
+ <version>0.21.0</version>
+ <date>2006-01-03</date>
<license>BSD, revised</license>
<state>beta</state>
- <notes>+ Added http_negotiate_content_type()
+ <notes>! Encodings functionality requires libz version 1.2.0.4 or greater
+
++ Added HttpDeflateStream and HttpInflateStream classes
++ Added ob_deflatehandler and ob_inflatehandler
++ Added HttpRequest::getRawRequestMessage and ::getRawResponseMessage
++ Added 'resetcookies' request option (libcurl > 7.14.1)
+
+- Changed all methods and properties with "URI" in their name to "URL"
+- Changed HttpRequest properties to be private
-* Fixed bug in http_negotiate_*() when client sends spaces within accept headers
+* Fixed a lot of memory corruptions within HttpRequest
-- Removed support for etag hashing through libmhash
-- Removed HTTP_ETAG_* and HttpResponse::ETAG_* constants
-- Changed http.etag_mode INI setting to acccept a string specifying the
- hash algorithm to use for generating etags.
- CRC32, MD5 and SHA1 are available out of the box with MD5 being the default.
- If pecl/hash is available, any algorithm this extension provides can be used.
+Special thanks for this release go to Ilia Alshanetsky.
</notes>
<deps>
<dep type="php" rel="ge" version="4.3"/>
<filelist>
<dir name="docs">
<dir name="examples">
- <file role="doc" name="extract.php"/>
- <file role="doc" name="tutorial.txt"/>
+ <file role="doc" install-as="examples/extract.php" name="extract.php"/>
+ <file role="doc" install-as="examples/tutorial.txt" name="tutorial.txt"/>
</dir> <!-- /docs/examples -->
<file role="doc" install-as="functions.html" name="functions.html"/>
</dir> <!-- /docs -->
<file role="src" name="phpstr.h"/>
</dir> <!-- /phpstr -->
<dir name="tests">
- <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="date_001.phpt"/>
<file role="test" name="date_002.phpt"/>
<file role="test" name="encodings.phpt"/>
+ <file role="test" name="encoding_objects_001.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="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="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="HttpResponse_001.phpt"/>
<file role="test" name="HttpResponse_002.phpt"/>
<file role="test" name="HttpResponse_003.phpt"/>
<file role="test" name="log.inc"/>
<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="send_file_013.phpt"/>
<file role="test" name="skip.inc"/>
<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="urls.txt"/>
+ <file role="test" name="ut_HttpMessage.phpt"/>
+ <file role="test" name="ut_HttpUtil.phpt"/>
</dir> <!-- /tests -->
<file role="src" name="config.m4"/>
<file role="src" name="config.w32"/>
<file role="src" name="http_api.c"/>
<file role="src" name="http_cache_api.c"/>
<file role="src" name="http_date_api.c"/>
+ <file role="src" name="http_deflatestream_object.c"/>
<file role="src" name="http_encoding_api.c"/>
<file role="src" name="http_exception_object.c"/>
<file role="src" name="http_filter_api.c"/>
<file role="src" name="http_functions.c"/>
<file role="src" name="http_headers_api.c"/>
+ <file role="src" name="http_inflatestream_object.c"/>
<file role="src" name="http_info_api.c"/>
<file role="src" name="http_message_api.c"/>
<file role="src" name="http_message_object.c"/>
<file role="src" name="http_requestpool_object.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_object.c"/>
<file role="src" name="http_request_pool_api.c"/>
<file role="src" name="php_http_api.h"/>
<file role="src" name="php_http_cache_api.h"/>
<file role="src" name="php_http_date_api.h"/>
+ <file role="src" name="php_http_deflatestream_object.h"/>
<file role="src" name="php_http_encoding_api.h"/>
<file role="src" name="php_http_exception_object.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_inflatestream_object.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_message_object.h"/>
<file role="src" name="php_http_requestpool_object.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_object.h"/>
<file role="src" name="php_http_request_pool_api.h"/>