requests, try another (newer) libeay32.dll/ssleay32.dll pair.
Deflate/Inflate:
- http_inflate() resp. the HttpInflateStream should be able to inflate
-any compressed data (gzip, deflate AKA zlib and raw deflate). However,
-inflating raw deflated data causes a re-initialization of the inflate
-stream where the corresponding window bits are modified to tell libz
-to not check for zlib header bytes. This is not preventable AFAICS.
- http_deflate() resp. the HttpDeflateStream should be able to
-generate any compressed data (gzip, deflate AKA zlib and raw deflate);
-just use the flag for the data format you want to generate:
-HTTP_DEFLATE_TYPE_GZIP, HTTP_DEFLATE_TYPE_ZLIB or HTTP_DEFLATE_TYPE_RAW.
+ Inflating raw deflated data causes a re-initialization of the inflate
+stream where the corresponding window bits are modified to tell libz to
+not check for zlib header bytes. This is not preventable AFAICS.
Using an encoding stream filter on a stream you read from, will
not work as expected in a PHP version lower than 5.1.3.
Internals:
- - 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
- exceptions in HttpRequestPool::send().
-
- our http_urlencode_hash() only handles arrays and does not
differentiate between prefixes for numeric or string keys.
-
- - check all places where hash table entries are created if
- the keys are properly NUL terminated (prior 1.0!)
http.cache_log is set and the cache attempt was successful.</p>
<h2 id="http_cache_etag">bool http_cache_etag([string etag])</h2>
<p>Attempts to cache the sent entity by its ETag, either supplied or generated <br />
-by the hash algorithm specified by the INI setting "http.etag_mode".</p>
+by the hash algorithm specified by the INI setting "http.etag.mode".</p>
<p>If the clients "If-None-Match" header matches the supplied/calculated<br />
ETag, the body is considered cached on the clients side and<br />
a "304 Not Modified" status code is issued.</p>
"http.cache_log" is set and the cache attempt was successful.</p>
<h2 id="ob_etaghandler">string ob_etaghandler(string data, int mode)</h2>
<p>For use with ob_start(). Output buffer handler generating an ETag with<br />
-the hash algorithm specified with the INI setting "http.etag_mode".</p>
+the hash algorithm specified with the INI setting "http.etag.mode".</p>
<h2 id="http_throttle">void http_throttle(double sec[, int bytes = 40960])</h2>
<p>Sets the throttle delay and send buffer size for use with http_send() API.<br />
Provides a basic throttling mechanism, which will yield the current process<br />
<span style="color: #0000BB"><?php<br />print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">http_parse_cookie</span><span style="color: #007700">(</span><span style="color: #DD0000">"foo=bar; bar=baz; path=/; domain=example.com; comment=; secure"</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, array(</span><span style="color: #DD0000">"comment"</span><span style="color: #007700">)));<br /><br /></span><span style="color: #0000BB">stdClass Object<br /></span><span style="color: #007700">(<br /> [</span><span style="color: #0000BB">cookies</span><span style="color: #007700">] => Array<br /> (<br /> [</span><span style="color: #0000BB">foo</span><span style="color: #007700">] => </span><span style="color: #0000BB">bar<br /> </span><span style="color: #007700">[</span><span style="color: #0000BB">bar</span><span style="color: #007700">] => </span><span style="color: #0000BB">baz<br /> </span><span style="color: #007700">)<br /><br /> [</span><span style="color: #0000BB">extras</span><span style="color: #007700">] => Array<br /> (<br /> [</span><span style="color: #0000BB">comment</span><span style="color: #007700">] =><br /> )<br /><br /> [</span><span style="color: #0000BB">flags</span><span style="color: #007700">] => </span><span style="color: #0000BB">16<br /> </span><span style="color: #007700">[</span><span style="color: #0000BB">expires</span><span style="color: #007700">] => </span><span style="color: #0000BB">0<br /> </span><span style="color: #007700">[</span><span style="color: #0000BB">path</span><span style="color: #007700">] => /<br /> [</span><span style="color: #0000BB">domain</span><span style="color: #007700">] => </span><span style="color: #0000BB">example</span><span style="color: #007700">.</span><span style="color: #0000BB">com<br /></span><span style="color: #007700">)<br /></span><span style="color: #0000BB">?></span><br />
</span></code></blockquote></p>
<p></pre></p>
-<h2 id="http_parse_params">object http_parse_params(string param)</h2>
+<h2 id="http_parse_params">object http_parse_params(string param[, int flags = HTTP_PARAMS_DEFAULT])</h2>
<p>Parse parameter list.</p>
<h2 id="http_get_request_headers">array http_get_request_headers(void)</h2>
<p>Get a list of incoming HTTP headers.</p>
</li>
</ul>
</div>
- <p><b>Generated at: Thu, 25 May 2006 10:46:03 +0200</b></p>
+ <p><b>Generated at: Sun, 28 May 2006 17:34:52 +0200</b></p>
</body>
</html>
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.
-
-PHP-5 classes:
-HttpUtil, HttpMessage, HttpRequest, HttpRequestPool,
-HttpDeflateStream, HttpInflateStream, HttpQueryString
-
-PHP-5.1 classes:
-HttpResponse
+support. Parallel requests are available for PHP 5 and greater.
</description>
<maintainers>
<maintainer>
</maintainer>
</maintainers>
<release>
- <version>1.0.0RC4</version>
- <date>2006-05-19</date>
+ <version>1.0.0RC5</version>
+ <date>2006-05-28</date>
<license>BSD, revised</license>
<state>beta</state>
- <notes>+ Added http_parse_params() function
-+ Added HTTP_URL_STRIP_ALL constant
-* Fixed possible crash in progress/onfinish request callbacks
-* Fixed http_redirect() and http_build_url() without arguments
-* Fixed behaviour of http_build_url() when second parameter is NULL
-* Enabled recursive query string merging in http_build_url() with HTTP_URL_JOIN_QUERY
+ <notes>+ Added HttpRequest::enableCookies() and HttpRequest::resetCookies([bool session_only=FALSE])
++ Added optional flags argument to http_parse_params()
++ Added HTTP_PARAMS_ALLOW_COMMA, HTTP_PARAMS_ALLOW_FAILURE, HTTP_PARAMS_RAISE_ERROR constants
+* Fixed http_build_url("./path") if REQUEST_URI is empty
+* Fixed http_parse_params("foo;bar") returning "foo" and "ar"
+* Fixed return value of http_parse_params() Object{"params"=>Array("value", Array("name"=>"value"), ...)}
+* Fixed HttpMessage::setRequestMethod() errenously issuing a warning about an unknown request method
+* Fixed bugs introduced by using the new REQUEST_TIME server variable
+! NOTE: Many INI settings have been renamed to comply with the internal structure
</notes>
<deps>
<dep type="php" rel="ge" version="4.3"/>
<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="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="log.inc"/>
<file role="test" name="match_request_header_001.phpt"/>
<file role="test" name="negotiation_001.phpt"/>
<file role="test" name="parse_message_003.phpt"/>
<file role="test" name="parse_message_004.phpt"/>
<file role="test" name="parse_message_005.phpt"/>
+ <file role="test" name="parse_params_001.phpt"/>
<file role="test" name="redirect_001.phpt"/>
<file role="test" name="redirect_001_logging.phpt"/>
<file role="test" name="redirect_002.phpt"/>
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.
+support. Parallel requests are available for PHP 5 and greater.
]]></description>
<lead>
<name>Michael Wallner</name>
* Fixed http_parse_params("foo;bar") returning "foo" and "ar"
* Fixed return value of http_parse_params() Object{"params"=>Array("value", Array("name"=>"value"), ...)}
* Fixed HttpMessage::setRequestMethod() errenously issuing a warning about an unknown request method
+* Fixed bugs introduced by using the new REQUEST_TIME server variable
+! NOTE: Many INI settings have been renamed to comply with the internal structure
]]></notes>
<contents>
<dir name="/">
<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="match_request_header_001.phpt"/>
<file role="test" name="negotiation_001.phpt"/>
<file role="test" name="ob_deflatehandler_001.phpt"/>
#ifndef PHP_EXT_HTTP_H
#define PHP_EXT_HTTP_H
-#define PHP_EXT_HTTP_VERSION "1.0.0RC5-dev"
+#define PHP_EXT_HTTP_VERSION "1.0.0RC5"
#ifdef HAVE_CONFIG_H
# include "config.h"