was built with zlib support.
Internals:
- - the request bodies created in http_request_pool_attach() are not
- destroyed in http_request_pool_detach() but on reset;
- may be a memory problem in long running scripts which reuse one
- request pool several times
- there's a memleak with sizeof(zval) for each thrown exception,
which ends up in HttpRequestPoolExcepiont::$exceptionStack, in
HttpRequestPool::__construct(); it doesn't happen with wrapped
uri = http_absolute_uri(message->http.info.request.URI);
}
- if (request.meth = http_request_method_exists(1, 0, message->http.info.request.method)) {
+ if ((request.meth = http_request_method_exists(1, 0, message->http.info.request.method))) {
http_request_body body = {HTTP_REQUEST_BODY_CSTRING, PHPSTR_VAL(message), PHPSTR_LEN(message)};
http_request_init_ex(&request, NULL, request.meth, uri);
if (SUCCESS == (rs = http_request_prepare(&request, NULL))) {
http_request_exec(&request);
}
+ request.body = NULL;
http_request_dtor(&request);
} else {
http_error_ex(HE_WARNING, HTTP_E_REQUEST_METHOD,
</maintainer>
</maintainers>
<release>
- <version>0.19.0</version>
- <date>2005-11-26</date>
+ <version>0.20.0</version>
+ <date>2005-12-12</date>
<license>BSD, revised</license>
<state>beta</state>
- <notes>+ Added http_negotiate_content_type()
+ <notes>! Request functionality requires libcurl >= 7.12.3 now
-* Fixed bug in http_negotiate_*() when client sends spaces within accept headers
++ Added 'bodyonly' request option
++ Added IOCTL callback for cURL
++ Added ssl_engines array and cookies array to the request info array
-- 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.
+- 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 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
</notes>
<deps>
<dep type="php" rel="ge" version="4.3"/>
<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_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"/>
</stability>
<license>BSD, revised</license>
<notes><![CDATA[
+! Request functionality requires libcurl >= 7.12.3 now
+
+ Added 'bodyonly' request option
+ Added IOCTL callback for cURL
++ Added ssl_engines array and cookies array to the request info array
+
+- 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 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
]]></notes>
<contents>
<dir name="/">
<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="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"/>
</pearinstaller>
</required>
<optional>
- <extension>
- <name>session</name>
- </extension>
+ <extension><name>session</name></extension>
+ <extension><name>hash</name></extension>
+ <extension><name>zlib</name></extension>
</optional>
</dependencies>
<providesextension>http</providesextension>