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.20.0</version>
- <date>2005-12-12</date>
+ <version>0.21.0</version>
+ <date>2006-01-03</date>
<license>BSD, revised</license>
<state>beta</state>
- <notes>! Request functionality requires libcurl >= 7.12.3 now
+ <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)
-+ Added 'bodyonly' request option
-+ Added IOCTL callback for cURL
-+ Added ssl_engines array and cookies array to the request info array
+- Changed all methods and properties with "URI" in their name to "URL"
+- Changed HttpRequest properties to be private
-- Renamed http_connectcode to connect_code in the request info array
-- Rewrote internal request API
-- 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
+* Fixed a lot of memory corruptions within HttpRequest
-* Fixed bug which caused GZIP encoded archives to be decoded
-* Fixed several memory leaks and inconspicuous access violations
-* Fixed some logical errors in the uri builder
+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="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"/>