============
$Id$
-HttpResponse class is only available for PHP >= 5.1
+PHP < 5.1.3:
+ HttpResponse::getHeader() does not work with Apache2 SAPIs.
+ Using an encoding stream filter on a stream you read from doesn't work.
-Not all places where files are handled check for open_basedir and/or safe_mode.
-
-Throttling with the FastCGI SAPI may behave unexpected, because libfcgi seems
-not to practically flush its buffers when calling sapi_flush().
-See also http://bugs.php.net/bug.php?id=34429
-
-If you keep getting "SSL connect error" when trying to issue requests on
-Windows, try another (newer) libeay32.dll/ssleay32.dll pair.
-
-Inflating compressed HttpRequest responses happens twice if libcurl
-was built with zlib support.
+Windows:
+ If you keep getting "SSL connect error" when trying to issue
+ requests, try another (newer) libeay32.dll/ssleay32.dll pair.
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
- exceptions in HttpRequestPool::send().
+ Our http_urlencode_hash() does not differentiate between prefixes
+ for numeric or string keys.
+ 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.
+ LFS dependant parts of libcurl are left out because of off_t,
+ respectively off64_t confusion.
+ Persistent handles and "cookiestore" request option do interfere,
+ as libcurl saves the cookies to the file on curl_easy_destroy(),
+ cookies are not saved until the CURL handle will be recycled.
+ Thus one would either need to
+ * run PHP with http.persistent.handles.limit = 0
+ * call http_persistent_handles_clean() every request
+ * call $HttpRequest->flushCookies(), which is available
+ since libcurl v7.17.1 and does not work with the
+ procedural API
+ Anyway, none of these options is really perfect.
+ HTTP and Proxy authentication information (username/password) can not be
+ unset with NULL prior libcurl v7.19.6 and separate options for setting
+ username and password--which work--are only available since v7.19.6.