- release RC5
authorMichael Wallner <mike@php.net>
Sun, 28 May 2006 15:48:00 +0000 (15:48 +0000)
committerMichael Wallner <mike@php.net>
Sun, 28 May 2006 15:48:00 +0000 (15:48 +0000)
KnownIssues.txt
docs/functions.html
package.xml
package2.xml
php_http.h

index d54a683521503571adc3836aa37e8516e268abf0..ea870ec95f444dcb873b85f487fbcc68ab3c3c2a 100644 (file)
@@ -11,26 +11,12 @@ Windows:
 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!)
index b27ed0799bae4709bf67515230a4092a77b61f5e..4c6aeedcbfdadac51e1e3a8c3c74dae1169befaf 100644 (file)
@@ -201,7 +201,7 @@ the Last-Modified header is updated and the actual body will be sent.</p>
 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>
@@ -210,7 +210,7 @@ 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 />
@@ -284,7 +284,7 @@ several consecutive HTTP messages.</p>
 <span style="color: #0000BB">&lt;?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;&nbsp;bar=baz;&nbsp;path=/;&nbsp;domain=example.com;&nbsp;comment=;&nbsp;secure"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;array(</span><span style="color: #DD0000">"comment"</span><span style="color: #007700">)));<br /><br /></span><span style="color: #0000BB">stdClass&nbsp;Object<br /></span><span style="color: #007700">(<br />&nbsp;&nbsp;&nbsp;&nbsp;[</span><span style="color: #0000BB">cookies</span><span style="color: #007700">]&nbsp;=&gt;&nbsp;Array<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[</span><span style="color: #0000BB">foo</span><span style="color: #007700">]&nbsp;=&gt;&nbsp;</span><span style="color: #0000BB">bar<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">[</span><span style="color: #0000BB">bar</span><span style="color: #007700">]&nbsp;=&gt;&nbsp;</span><span style="color: #0000BB">baz<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;[</span><span style="color: #0000BB">extras</span><span style="color: #007700">]&nbsp;=&gt;&nbsp;Array<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[</span><span style="color: #0000BB">comment</span><span style="color: #007700">]&nbsp;=&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;[</span><span style="color: #0000BB">flags</span><span style="color: #007700">]&nbsp;=&gt;&nbsp;</span><span style="color: #0000BB">16<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">[</span><span style="color: #0000BB">expires</span><span style="color: #007700">]&nbsp;=&gt;&nbsp;</span><span style="color: #0000BB">0<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">[</span><span style="color: #0000BB">path</span><span style="color: #007700">]&nbsp;=&gt;&nbsp;/<br />&nbsp;&nbsp;&nbsp;&nbsp;[</span><span style="color: #0000BB">domain</span><span style="color: #007700">]&nbsp;=&gt;&nbsp;</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">?&gt;</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>
@@ -1434,7 +1434,7 @@ http.cache_log is set.</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>
 
index 104d2c644ecc929c2b29a82a30f197f6b95ecef1..775bedca39943ad51868c9b1aaf25298d63eb769 100644 (file)
@@ -12,14 +12,7 @@ language and charset, as well as a convenient way to send any
 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>
@@ -30,16 +23,19 @@ HttpResponse
   </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(&quot;./path&quot;) if REQUEST_URI is empty
+* Fixed http_parse_params(&quot;foo;bar&quot;) returning &quot;foo&quot; and &quot;ar&quot;
+* Fixed return value of http_parse_params() Object{&quot;params&quot;=&gt;Array(&quot;value&quot;, Array(&quot;name&quot;=&gt;&quot;value&quot;), ...)}
+* 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"/>
@@ -130,11 +126,11 @@ HttpResponse
     <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"/>
@@ -148,6 +144,7 @@ HttpResponse
     <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"/>
index 8c8e030f6dff7adc787ff4db807b69d50bafc0ce..ad3f4af177f4de1cb92ee3e0f2113b5c247bcbfa 100644 (file)
@@ -20,7 +20,7 @@ language and charset, as well as a convenient way to send any
 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>
@@ -46,6 +46,8 @@ support. Parallel requests are available for PHP-5 and greater.
 * 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="/">
@@ -203,7 +205,6 @@ support. Parallel requests are available for PHP-5 and greater.
     <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"/>
index 6c378a224e5926827f95c50d23c92920e020588b..09010f8e1685dfc940cbab433308b7e7662958ba 100644 (file)
@@ -15,7 +15,7 @@
 #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"