============
$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.
-HttpResponse::getHeader() does not work in Apache2 with a PHP version
-lower than 5.1.3 (as mod_php).
-
-If you keep getting "SSL connect error" when trying to issue requests on
-Windows, 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.
+Windows:
+ If you keep getting "SSL connect error" when trying to issue
+ requests, try another (newer) libeay32.dll/ssleay32.dll pair.
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.
\ No newline at end of file
+ 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.