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, HttpQueryString
+
+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.20.0</release>
- <api>0.20.0</api>
+ <release>0.23.0</release>
+ <api>0.23.0</api>
</version>
<stability>
<release>beta</release>
</stability>
<license>BSD, revised</license>
<notes><![CDATA[
-! Request functionality requires libcurl >= 7.12.3 now
++ Added 'etag' request option.
++ Added missing accessors to response status text to HttpMessage and HttpRequest classes.
-+ 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 PHP-4.4 and PHP-5.0 build.
-- 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)
+- Don't pretend anylonger to understand 'compress' Content-Encoding
+- Sending an User-Agent can now be prevented by setting 'useragent' to NULL or empty string. (Ilia)
+- Changed http_redirect() to PHPs behaviour by default
+- Changed configure to enable curl and zlib functionality by default
+- Changed http_build_url() to accept a flag that defines what parts and how they are replaced/merged
-* 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
+* Decreased the per-request calls to curl_easy_setopt()
+* Fixed gnutls ZTS build
+* Fixed openssl ZTS issues with other libraries using openssl
+* Fixed some issues with http_get_request_body()
+* Fixed bug #6645 - doesn't compile with zlib 1.2.2 (undefined Z_FIXED)
]]></notes>
<contents>
<dir name="/">
<file role="doc" name="CREDITS"/>
<file role="doc" name="EXPERIMENTAL"/>
<file role="doc" name="KnownIssues.txt"/>
+ <file role="doc" name="http.ini"/>
<file role="doc" name="docs/functions.html"/>
<file role="doc" name="docs/examples/extract.php"/>
<file role="doc" name="docs/examples/tutorial.txt"/>
<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_requestpool_object.h"/>
<file role="src" name="php_http_response_object.h"/>
<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_requestpool_object.c"/>
<file role="src" name="http_response_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_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="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="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="HttpQueryString_001.phpt"/>
+ <file role="test" name="HttpQueryString_002.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="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="redirect_012_logging.phpt"/>
<file role="test" name="redirect_013.phpt"/>
<file role="test" name="redirect_013_logging.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="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"/>
<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>spl</name></extension>
<extension><name>session</name></extension>
<extension><name>hash</name></extension>
- <extension><name>zlib</name></extension>
</optional>
</dependencies>
<providesextension>http</providesextension>
default="yes"
/>
<filelist>
+ <install as="http.ini" name="docs/http.ini"/>
<install as="functions.html" name="docs/functions.html"/>
+ <install as="examples/extract.php" name="docs/examples/extract.php"/>
+ <install as="examples/tutorial.txt" name="docs/examples/tutorial.txt"/>
</filelist>
</extsrcrelease>
<changelog />