| Changelog for pecl_http |
| Release |
What has changed? |
| 1.6.5 |
* Fixed PHP5.1 build
* Fixed http_get_request_body[_stream]() with FastCGI SAPI |
| 1.6.4 |
* Fixed PHP4 build
* Fixed PHP5.3 issue in the negotiation API
* Fixed HttpMessage::toMessageTypeObject() to honor non-string arguments
* Fixed memory leaks and unterminated string issues with HttpMessage
* Fixed bug #16577 typo in http_request_object.c (HttpRequest::addBody)
* Fixed bug #16700 child classes of HttpMessage cannot not have array properties |
| 1.7.0b1 |
* Implement Request #14408 (Add a customizable timeout for HttpRequestPool::socketSelect)
* Implement Request #15775 (recursive http_request_body_encode)
* Added request options:
- postredir: enforcing RFC conformig POST after redirect (libcurl >= 7.17.1)
- address_scope: RFC4007 zone_id (libcurl >= 7.19.0)
- ssl->issuercert: validate peer certificate issuer (libcurl >= 7.19.0)
- ssl->crlfile: require CRL check (libcurl >= 7.19.0 with openssl)
- ssl->certinfo: enable the certinfo gatherer (libcurl >= 7.19.1 with openssl)
* Added proxytype request option constants:
- HTTP_PROXY_SOCKS4A
- HTTP_PROXY_SOCKS5_HOSTNAME
* Added request info members:
- redirect_url (libcurl >= 7.18.2)
- primary_ip (libcurl >= 7.19.0)
- appconnect_time (libcurl >= 7.19.0)
- certinfo (libcurl >= 7.19.1 with openssl) |
| 1.6.3 |
* Fixed bug #15495 (HttpMessage::setHttpVersion segfault)
* Fixed bug #15497 (HttpInflateStream::finish segfault)
* Fixed bug #15499 (HttpRequest::addHeaders segfault)
* Fixed bug #15509 (HttpMessage::rewind memory leaks)
* Fixed bug #15800 (Double free when zval is separated in convert_to_*)
* Fixed bug #15813 (Requests not removed from multi stack when fatal errors occur with fcgi) |
| 1.6.2 |
* Fixed PHP-5.3 API incompatibilities (including bug #15065)
* Fixed memory corruption with headers and HttpRequest
* Fixed crash in HttpMessage::unserialize()
* Fixed bug #14826 (race condition in http_request_dtor)
* Fixed bug #15223 (http_parse_message cuts off more than headers) |
| 1.6.1 |
* Fixed bug #13362 (PHP-5.3 build)
* Fixed bug #14168 (st->errorbuffer not cleared between uses of persistent handles)
* Fixed bug #14218 (properties of class extending HttpMessage inaccessible) |
| 1.6.0 |
+ Added HttpRequest::flushCookies() (libcurl >= 7.17.1)
+ Added constant HTTP_URL_FROM_ENV
+ Added 'retrycount' and 'retrydelay' request options
+ Added libevent support for libcurl (>= 7.16.0):
o added --with-http-curl-libevent configure option
o added HttpRequestPool::enableEvents()
* Fixed problems with cookiestore request option introduced with persistent handles
* Fixed crash on prematurely called HttpMessage::next()
* Fixed possible shutdown crash with http_parse_params() and PHP4
* Fixed a possible crash at module shutdown in the persistent handle API
(probably fixing bug #11509)
* Fixed test suite for PHP4
* Fixed missing PHP_LIBDIR definition in config.m4 for PHP4
* Fixed non-standard shell support in config.m4 |
| 1.6.0RC1 |
1.6.0RC1:
+ Added HttpRequest::flushCookies() (libcurl >= 7.17.1)
* Fixed problems with cookiestore request option introduced with persistent handles
* Fixed crash on prematurely called HttpMessage::next()
* Fixed possible shutdown crash with http_parse_params() and PHP4
1.6.0b2:
+ Added constant HTTP_URL_FROM_ENV
* Fixed a possible crash at module shutdown in the persistent handle API
(probably fixing bug #11509)
* Fixed test suite for PHP4
* Fixed missing PHP_LIBDIR definition in config.m4 for PHP4
* Fixed non-standard shell support in config.m4
1.6.0b1:
+ Added 'retrycount' and 'retrydelay' request options
+ Added libevent support for libcurl (>= 7.16.0):
o added --with-http-curl-libevent configure option
o added HttpRequestPool::enableEvents() |
| 1.6.0b2 |
+ Added constant HTTP_URL_FROM_ENV
+ Added 'retrycount' and 'retrydelay' request options
+ Added libevent support for libcurl (>= 7.16.0):
o added --with-http-curl-libevent configure option
o added HttpRequestPool::enableEvents()
* Fixed a possible crash at module shutdown in the persistent handle API
(probably fixing bug #11509)
* Fixed test suite for PHP4
* Fixed missing PHP_LIBDIR definition in config.m4 for PHP4
* Fixed non-standard shell support in config.m4 |
| 1.5.6 |
* Fixed a possible crash at module shutdown in the persistent handle API
(probably fixing bug #11509)
* Fixed test suite for PHP4
* Fixed missing PHP_LIBDIR definition in config.m4 for PHP4
* Fixed non-standard shell support in config.m4 |
| 1.6.0b1 |
+ Added 'retrycount' and 'retrydelay' request options
+ Added libevent support for libcurl (>= 7.16.0):
o added --with-http-curl-libevent configure option
o added HttpRequestPool::enableEvents() |
| 1.5.5 |
* Fixed Bug #11929 (http_negotiate does not return default value on non-match)
* Fixed SSL library detection for libcurl >= 7.16.2
- Removed max_recv_speed and max_send_speed request options
again, due to LFS dependence |
| 1.5.4 |
* Fixed bug #11359 HttpMessage::toMessageTypeObject() does not populate POST fields |
| 1.5.3 |
* Fixed crashes with repeated registering/unregisitering of request methods (noticed by Andreas Weber) |
| 1.5.2 |
* Fixed bug #10151 (build fails dynamic linking on Mac OS X)
* Allow setting the "proxyhost" request option to an empty string,
which lets curl ignore any environment settings
* Allow unsetting request options by passing NULL:
$request->setOptions(array("option" => NULL)); |
| 1.5.1 |
* Fixed build with PHP-5 < v5.2 |
| 1.5.0 |
* Fixed responses to range requests which asked for the first byte (0-0)
* Fixed Win32 build |
| 1.5.0RC2 |
o Improved new persistent handles functionality
- Removed --enable-http-persistent-handles
+ Added http.persistent.handles.limit system INI option which controls
the maximum amount of idle persistent handles kept around (per provider);
0 means every handle is destroyed after usage (i.e. disabled),
-1 means virtually unlimited maximum amount of idle handles (default) |
| 1.5.0RC1 |
+ Added HttpMessage::fromEnv(int type[, string class_name = "HttpMessage"]) (Clay Loveless)
+ Added support for per process persistent cURL handles (requested by Clay Loveless):
o Added --enable-http-persistent-handles configure option
o Added http_persistent_handles_count(), http_persistent_handles_clean([string name]), http_persistent_handles_ident([string ident])
o Added http.persistent.handles.ident INI setting |
| 1.4.1 |
* Fixed crashes with incompletely initialiezed HttpMessages |
| 1.4.0 |
* Allow response codes up to 599 in HttpMessage::setResponseCode() |
| 1.4.0RC2 |
* Fixed infinite loop with http_parse_params("=")
* Fixed greedy response message parsing with proxy CONNECT requests (petr at hroch dot info) |
| 1.4.0RC1 |
* Improved response performance
+ Added "ipresolve" request option
+ Added HTTP_IPRESOLVE_{ANY|V4|V6}, HttpRequest::IPRESOLVE_{ANY|V4|V6} constants
+ Added missing HTTP_SSL_VERSION_{ANY|TLSv1|SSLv2|SSLv3}, HttpRequest::SSL_VERSION_{ANY|TLSv1|SSLv2|SSLv3} constants
+ Added factory methods to HttpMessage, HttpQueryString, HttpRequest, HttpRequestDataShare, HttpDeflateStream, HttpInflateStream
* Fixed aborted PUT request when empty put data was set with HttpRequest::setPutData()
* Fixed crash when using non-associative arrays as request headers
* Fixed crash when serializing incomplete HttpMessage objects
* Fixed bug #9282: libcurl version error in configure (keith at iveys dot org)
* Fixed crash when retrieving the response message from an unserialized HttpRequest object
- Removed obsolete HTML function reference |
| 1.3.3 |
* Fixed HttpResponse::setHeader("name", {omitted|NULL|""}) not unsetting header
* Fixed array parameters to allow NULL in HttpRequest::__construct(),
HttpRequest::getResposeCookie(), HttpMessage::setHeaders(),
http_parse_cookie(), http_post_fields().
* Fixed possible leak in http_send_data() and HttpResponse::setData()
* Fixed build --without-http-curl-requests (bug #8872)
* Fixed build with PHP < 4.3.10 (bug #9067) |
| 1.3.2 |
* Fixed invalid detection whether a deflated response should be started
* Fixed build --without-http-zlib-compression (bug #8872) |
| 1.3.1 |
* Fixed build with gcc-2.95 (bug #8737)
* Fixed bug in HttpRequestPool where a negative timeout was passed to select() |
| 1.3.0 |
+ Added HttpRequestDataShare (interface to curl_share)
+ Added "dns_cache_timeout", "low_speed_limit", "low_speed_time", "max_send_speed",
"max_recv_speed", "forbid_reuse" and "fresh_connect" request options
+ Added HttpRequestPool::enablePipelining([bool enable = TRUE]) (libcurl >= 7.16.0, unstable) |
| 1.2.1 |
+ Added HttpException::__toString() which takes care about any inner exceptions
- Disallowed detaching HttpRequest objects from HttpRequestPool while executing progress callback
* Fixed crash on detaching requests from pool in request event callbacks
* Fixed suppression of nested exceptions in e.g. HttpRequestPool::send() (fixes bug #8535)
* Fixed issues with inheritance and cloning of HttpDeflateStream, HttpInflateStream and HttpMessage
(Extending classes lose default properties on instantiation; Complex members ignored during cloning) |
| 1.2.0 |
+ Improved response performance (HttpResponse, http_send API)
* Fixed http_parse_cookie() allowed_extras and flags parameters
* Added http_build_cookie() function
* Fixed configuration with shared dependencies |
| 1.1.0 |
* Fixed endless loop in http_build_url("..")
* Fixed HttpResponse::capture() failure if buffered output exceeds 40k
* Fixed HttpQueryString failures with objects as params
* Fixed memory leaks with overloaded classes extending HTTP classes
* Added HttpQueryString::mod(array $params) method
* Added ArrayAccess to interfaces implemented by HttpQueryString
* Added HttpMessage::getHeader(string $name) method |
| 1.0.1 |
* Fixed build with gcc-2.95 (Thanks to Alexander Zhuravlev)
* Fixed memory leak in inflate code (Thanks to Thomas Landro Johnsen) |
| 1.0.0 |
+ Added --with[out]-http-shared-deps configure option (dependencies on shared extensions)
+ Added INI entries: http.log.not_found, http.send.not_found_404
+ Added HttpMessage::guessContentType()
* Fixed build on Debian systems where access to Curl_* functions is prohibited
* Fixed empty Cache-Control header if not customly set with HttpResponse
* Reset Content-Disposition and Content-Type if file is not found by http_send_file() etc |
| 1.0.0RC5 |
+ 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 |
| 1.0.0RC4 |
+ 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 |
| 1.0.0RC3 |
+ Added missing http_request() function
+ Added missing http_request_body_encode() function
- Improved performance of the message and header parser
- Disallow $HttpMessage->prepend($HttpMessage) causing infinite recursion
* Fixed internal http_parse_headers() always returning success
* Fixed missing "parentMessage" entry in print_r($HttpMessageObject)
* Fixed possible crash if the response does not contain a status message |
| 1.0.0RC2 |
* Fixed Bug #7192: Build against libcurl >= 7.15.2 fails
* Fixed access of super globals
* Fixed sending userspace streams
* Fixed too aggressive caching behaviour of HttpResponse |
| 1.0.0RC1 |
* Fixed possible crash in HttpQueryString if the SAPI does not have a treat_data function registered.
* Fixed http_build_str() to urlencode square brackets ("[]").
* Fixed HttpQueryString::xlate()
* Fixed builds where include/php/ext/iconv does not have php_have_*.h files
* Fixed PHP-4 build. |
| 0.25.0 |
* Fixed bug #6924 (Linking fails on Mac OSX).
* Fixed HttpRequest::addRawPostData().
- Renamed HttpQueryString::getInstance() to more commonly used ::singleton().
- Renamed HttpQueryString::iconv() to more generic ::xlate().
+ Added feature request http_put_data() and HttpRequest::(set|get|add)PutData().
+ Added 'range' request option.
+ Added 'proxytype' request option.
+ Added HTTP_PROXY_HTTP, HTTP_PROXY_SOCKS4, HTTP_PROXY_SOCKS5 constants. |
| 0.24.1 |
* Fixed bug #6861 - 5 digit ports get truncated
* Fixed bug with non-functional HttpRequest::setContentType() |
| 0.24.0 |
+ Added If-Range header recognition.
+ Added "portrange" request option.
+ Added HttpQueryString::iconv().
+ HttpQueryString implements Serializable (PHP-5.1).
* Fixed bug #6804 - configure does not recognize '--without-http-zlib-compression'.
* Fixed cases where '412 Precondition failed' responses should be sent.
* Fixed message chain order in HttpRequest::getHistory(). |
| 0.23.1 |
* Fixed http_parse_cookie(), really. |
| 0.23.0 |
+ Added 'etag' request option.
+ Added 'encodecookies' request option (defaults to true).
+ Added missing accessors for response status text to HttpMessage and HttpRequest classes.
+ Added HttpMessage::reverse().
+ Added bool must_revalidate parameter to HttpResponse::setCacheControl()
- Reimplemented http_parse_cookie().
- Changed HttpRequest::getResponseCookie() to HttpRequest::getResponseCookies(),
compliant to http_parse_cookie().
- http_build_url() now tries to "resolve" public hostname prior falling back
to localhost if neither HTTP_HOST nor SERVER_NAME is set.
- Changed HttpRequest::getHistory() to return a real property.
* Fixed PHP-4.4 and PHP-5.0 build. |
| 0.22.0 |
+ Added HTTP 'protocol' version request option. (Ilia)
+ Added optional class_name param to HttpMessage::fromString()
+ Added HttpMessage::toMessageTypeObject(), HttpMessage::detach(), HttpMessage::prepend()
+ Added Iterator interface to HttpMessage
+ Added http_get_request_body_stream()
+ Added HttpQueryString class
- Don't pretend anylonger to understand 'compress' Content-Encoding
- Sending an User-Agent can now be prevented by setting 'useragent' to NULL or empty string. (Ilia)
- Changed http_redirect() to PHPs behaviour by default
- Changed configure to enable curl and zlib functionality by default
- Changed http_build_url() to accept a flag that defines what parts and how they are replaced/merged
* Decreased the per-request calls to curl_easy_setopt()
* Fixed gnutls ZTS build
* Fixed openssl ZTS issues with other libraries using openssl
* Fixed some issues with http_get_request_body()
* Fixed bug #6645 - doesn't compile with zlib 1.2.2 (undefined Z_FIXED) |
| 0.21.0 |
! Encodings functionality requires libz version 1.2.0.4 or greater
+ Added HttpDeflateStream and HttpInflateStream classes
+ Added ob_deflatehandler and ob_inflatehandler
+ Added HttpRequest::getRawRequestMessage and ::getRawResponseMessage
+ Added 'resetcookies' request option (libcurl > 7.14.1)
- Changed all methods and properties with "URI" in their name to "URL"
- Changed HttpRequest properties to be private
* Fixed a lot of memory corruptions within HttpRequest
Special thanks for this release go to Ilia Alshanetsky. |
| 0.20.0 |
! 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
+ Added http_parse_cookie() to parse Set-Cookie headers
- Renamed http_connectcode to connect_code in the request info array
- 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
- Removed http_compress() and http_uncompress() (http_deflate/inflate ambiguity)
* Fixed bug which caused GZIP encoded archives to be decoded
* Fixed bug with DEFLATE encoded response messages
* Fixed several memory leaks and inconspicuous access violations
* Fixed some logical errors in the uri builder |
| 0.19.0 |
+ Added http_negotiate_content_type()
* Fixed bug in http_negotiate_*() when client sends spaces within accept headers
- 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. |
| 0.18.1 |
* Fixed build with PHP-4 and PHP-5.0 |
| 0.18.0 |
+ Added INI setting http.force_exit which can be used to disable script termination
in case of redirects and positive cache hits (instead, standard output will be discarded)
+ Classes HttpMessage and HttpRequestPool implement Countable if PHP >= 5.1 with SPL is available
+ Class HttpMessage implements Serializable if PHP >= 5.1 is available
+ Added experimental http.chunked_encode and chunked_decode stream filter
* Fixed a bug that caused a warning about an invalid curl handle at HttpRequestPool destruction
* Fixed a bug with http_get_request_headers() modifying $_SERVER array
* Fixed a bug which required "=" in Content-Range response message headers
* Fixed a bug with directly setting HttpMessage property values |
| 0.17.0 |
+ Added experimental thread safety for builds linking against libcurl-gnutls
+ Improved the chunked decoder
+ Added clone support to HttpRequest objects
- License changed from PHP license to revised BSD license!
- HttpMessage properties are not accessible by reference or array index/key!
- HttpRequest history logging is disabled by default!
- HttpRequestPool is not clonable!
* Fixed a bug where HttpRequest warnings were hidden within the HttpRequestPool
* Fixed shared build within the PHP source tree
* Fixed parallel build with ext/zlib on Win32
* Fixed object deallocation
* Fixed http_support() pretending no support for SSL in non-threadsafe builds
* Fixed the message parser to not choke on headers containing HTTP/1.x
* Fixed access to protected HttpMessage properties in extending classes
* Fixed lots of tests for the changed HTTP header order in PHP-5.1 |
| 0.16.0 |
+ Added ext/zlib independant GZIP support
+ Added HttpRequestPool::getAttachedRequests() and getFinishedRequests() |
| 0.15.0 |
+ Updated documentation (a lot)
+ Added optional third parameter to HttpRequest::__construct() accepting an array with options
+ Added compression functions gzencode/gzdecode, deflate/inflate, compress/uncompress
+ Added http_support() for probing features that depend on external libraries
- Renamed http_absolute_uri() to http_build_uri() (complements with http_build_query())
- Changed the signature of the negotiator to fill the second parameter with the results array
* Fixed several ETag issues
* Fixed HttpRequestPools detach() and attach() methods when the iterator is active
* Fixed parsing messages with Content-Range headers
* Fixed parsing messages with another Transfer-Encoding header value than chunked |
| 0.14.2 |
* Fixed caching by Last-Modified with dates in october |
| 0.14.1 |
* Fixed PHP-5.0 build |
| 0.14.0 |
+ Added missing support for raw post data in HttpRequest
+ Added missing HttpMessage::setBody()
+ Added HttpRequest::METH_* constants
+ Added HttpRequest::AUTH_* constants
+ Added HttpMessage::TYPE_* constants
+ Added HttpResponse::ETAG_* constants
+ Added HTTP_ETAG_MHASH_* constants
+ Added supported ETag hash algrithms to php_info() output
+ Added ETag hashing through PHPs CRC32() implementation
+ Added new language/charset negotiator
* Changed HttpMessage::toString([include_parent = true]) to false
* Renamed HTTP_GET etc. constants to HTTP_METH_GET
* Fixed protected property access |
| 0.13.0 |
+ HTTP request method API is now available for builds without libcurl, too
+ Added HttpResponse::guessContentType() through libmagic
- Removed HttpResponse class from PHP-5.0 (WONKY) due to ZE limitations
* Improved the build system
* Imrpoved logging format
* Implemented SSL crypto locks for thread safe builds
* Fixed ridiculous low default transfer timeout of 3 seconds (set to 0 now)
* Fixed a bug where plain instead of more specific HttpExceptions were thrown
* Fixed a bug where entities that where not marked for being cached were
actually cached if an apropriate ETag or Last-Modified header was seen |
| 0.12.0 |
+ Added ETag generation through libmhash
+ Added http_parse_message()
+ Added single LF awareness to the parsers
+ Added HttpResponse::setHeader(), HttpResponse::getHeader(), HttpResponse::status()
+ Added HttpResponse::status()
+ Added constants HttpMessage::NONE, Http_Message::REQUEST, HttpMessage::RESPONSE
+ Added Content-Length header if HttpResponse sends full plain entity
+ Added ZendEngine workaround for internal class' static properties (HttpResponse)
+ Added HttpRequestPool::socketPerform()
- Removed http_split_response()
- Removed AuthBasic hooks
- Removed HttpResponse::sendHeader(), HttpResponse::sendStatus()
- Removed HttpRequest::unset*() methods, now handled through set*() with empty parameter
- Removed HttpRequestPool::socketRead(), HttpRequestPool::socketSend()
* Fixed initialization and cleanup of module globals
* Fixed builds and tests without libcurl
* Fixed access of request headers through $_SERVER
* Fixed check for ext/session in http_redirect()
* Fixed custom ETags and Last-Modified dates in HttpResponse
* Fixed PHP4 build |
| 0.11.0 |
* Fixed HttpRequest with redirects
* Fixed http.allowed_methods INI entry
+ Added HTTP specific exceptions
+ Added http.only_exceptions INI entry
+ Added HttpRequest::$recordHistory and HttpRequest::getHistory()
- Removed the ondebug callback option for requests |
| 0.10.1 |
* fixed installation through the PEAR installer |
| 0.10.0 |
* changed HttpResponse to a completely static class, please see docs/functions.html for reference
* added http_get_request_body()
* several bug fixes
* added test files |
| 0.9.0 |
* added HttpRequestPool class (PHP5)
* added missing files to package.xml |
| 0.8.0 |
* renamed ob_httpetaghandler to ob_etaghandler
* http_chunked_decode() now silently passes through apparently not encoded data
* added HttpMessage class and HttpException (PHP5 only)
* added http.cache_log INI directive
* added throttling capability to http_send()/HttpResponse
* added hooks for custom request methods
* added PUT support
* added http_match_request_header()
* added clean_ob parameter to HttpResponse::send() |
| 0.7.0 |
* Renamed HTTPi to HttpUtil
* Renamed HTTPi_Request to HttpRequest
* Renamed HTTPi_Response to HttpResponse
* Added several methods to HttpRequest: unsetOptions(), addHeaders(array),
getHeaders(), unsetHeaders(), addCookies(array), getCookies(), unsetCookies(),
setSslOptions(array), getSslOptions(), unsetSslOptions()
* Improved HTTP ranges support |
| 0.6.1 |
* fixed overflow in http_split_response()
- removed HTTPi_Request::getResponseHeaders()
+ added HTTPi_Request::getResponseCode()
+ added HTTPi_Request::getResponseHeader([string name]), allowing retrieval of single header values
+ HTTPi_Request::getResponseInfo([string name]) now allows retrieval of single info values
+ vastly enhanced http_absolute_uri() |
| 0.6.0 |
+ added POST support to HTTPi_Request
+ added some more curl options
+ better recognition of older libcurl versions
* internal API optimizations |
| 0.5.1 |
* added some compatibility checks for older libcurl versions
* fixed some memory leaks
* fixed a typo which made http_split_response() useless
* fixed HTTPi_Request object destruction |
| 0.5.0 |
* added ob_httpetaghandler() (has major limitations compared to http_cache_etag())
* smarter ob handling in http_cache_etag() - used buffers will be fetched, freed
and piped through again, so that everything passes the etag ob handler
* added static final HTTPi class (PHP5) providing fairly every function as static method
* added HTTPi_Response class (PHP5)
* added HTTPi_Request class, only HEAD/GET support for now (PHP5/curl)
* renamed http_content_type() and http_content_disposition() to http_send_* |
| 0.4.0 |
* No need to initialize $info in http_(get|head|post*) functions anymore
* Array keys of $info in http_(get|head|post*) functions are now lower case
* Added http_get_request_headers()
* Added http.allowed_methods INI entry
* Fixed memory corruption in http_parse_headers() with empty header values
* Fixed ETag caching
* Fixed http_send_data()
* Correctly send the full entity if the clients Range header is syntactically invalid |
| 0.3.0 |
* ctype is now mandatory
* implemented additional third/fourth informational parameter to http_(get|head|post*)
which will be filled with an associative array containing request/response information
* removed http_accept_ranges()
* output "Redirecting to URI." in http_redirect() for full RFC compliance
* fixed http_cache_last_modified(): if parameter was omitted, would have always sent 304 Not Modified
* added http_parse_headers() |
| 0.2.0 |
* fixed http_chunked_decode() and http_get_request_ranges()
(broken by a naive fix for signed/unsigned mismatches)
* added own imlementation for a RFC822 compliant HTTP date
* added http_auth_basic() and http_auth_basic_cb() |
| 0.1.0 |
* 1st release |