Tags: tpavlek/guzzle
Tags
* Feature: Added the `on_stats` request option to provide access to t… …ransfer statistics for requests. guzzle#1202 * Feature: Added the ability to persist session cookies in CookieJars. guzzle#1195 * Feature: Some compatibility updates for Google APP Engine guzzle#1216 * Feature: Added support for NO_PROXY to prevent the use of a proxy based on a simple set of rules. guzzle#1197 * Feature: Cookies can now contain square brackets. guzzle#1237 * Bug fix: Now correctly parsing `=` inside of quotes in Cookies. guzzle#1232 * Bug fix: Cusotm cURL options now correctly override curl options of the same name. guzzle#1221 * Bug fix: Content-Type header is now added when using an explicitly provided multipart body. guzzle#1218 * Bug fix: Now ignoring Set-Cookie headers that have no name. * Bug fix: Reason phrase is no longer cast to an int in some cases in the cURL handler. guzzle#1187 * Bug fix: Remove the Authorization header when redirecting if the Host header changes. guzzle#1207 * Bug fix: Cookie path matching fixes guzzle#1129 * Bug fix: Fixing the cURL `body_as_string` setting guzzle#1201 * Bug fix: quotes are no longer stripped when parsing cookies. guzzle#1172 * Bug fix: `form_params` and `query` now always uses the `&` separator. guzzle#1163 * Bug fix: Adding a Content-Length to PHP stream wrapper requests if not set. guzzle#1189
* Fixed a memory leak in the curl handlers in which references to cal… …lbacks were not being removed by `curl_reset`. * Cookies are now extracted properly before redirects. * Cookies now allow more character ranges. * Decoded Content-Encoding responses are now modified to correctly reflect their state if the encoding was automatically removed by a handler. This means that the `Content-Encoding` header may be removed an the `Content-Length` modified to reflect the message size after removing the encoding. * Added a more explicit error message when trying to use `form_params` and `multipart` in the same request. * Several fixes for HHVM support. * Functions are now conditionally required using an additional level of indirection to help with global Composer installations.
* Mock now supports `save_to` * Marked `AbstractRequestEvent::getTransaction()` as public. * Fixed a bug in which multiple headers using different casing would overwrite previous headers in the associative array. * Added `Utils::getDefaultHandler()` * Marked `GuzzleHttp\Client::getDefaultUserAgent` as deprecated. * URL scheme is now always lowercased.
* Added `AppliesHeadersInterface` to make applying headers to a reque… …st based on the body more generic and not specific to `PostBodyInterface`. * Reduced the number of stack frames needed to send requests. * Nested futures are now resolved in the client rather than the RequestFsm * Finishing state transitions is now handled in the RequestFsm rather than the RingBridge. * Added a guard in the Pool class to not use recursion for request retries.
* Pool class no longer uses recursion when a request is intercepted. * The size of a Pool can now be dynamically adjusted using a callback. See guzzle#943. * Setting a request option to `null` when creating a request with a client will ensure that the option is not set. This allows you to overwrite default request options on a per-request basis. See guzzle#937. * Added the ability to limit which protocols are allowed for redirects by specifying a `protocols` array in the `allow_redirects` request option. * Nested futures due to retries are now resolved when waiting for synchronous responses. See guzzle#947. * `"0"` is now an allowed URI path. See guzzle#935. * `Query` no longer typehints on the `$query` argument in the constructor, allowing for strings and arrays. * Exceptions thrown in the `end` event are now correctly wrapped with Guzzle specific exceptions if necessary.
This change updates query strings so that they are treated as un-enco… …ded values by default where the value represents an un-encoded value to send over the wire. A Query object then encodes the value before sending over the wire. This means that even value query string values (e.g., ":") are url encoded. This makes the Query class match PHP's http_build_query function. However, if you want to send requests over the wire using valid query string characters that do not need to be encoded, then you can provide a string to Url::setQuery() and pass true as the second argument to specify that the query string is a raw string that should not be parsed or encoded (unless a call to getQuery() is subsequently made, forcing the query-string to be converted into a Query object).
* Added a trailing `\r\n` to multipart/form-data payloads. See guzzle#871 * Added a `GuzzleHttp\Pool::send()` convenience method to match the docs. * Status codes are now returned as integers. See guzzle#881 * No longer overwriting an existing `application/x-www-form-urlencoded` header when sending POST requests, allowing for customized headers. See guzzle#877 * Improved query string and path URL serialization. * No longer double percent-encoding characters in the path or query string if they are already encoded. * Now properly encoding the supplied path to a URL object, instead of only encoding ' ' and '?'. * Now allowing many more characters to be present in the query string without being percent encoded. See http://tools.ietf.org/html/rfc3986#appendix-A
PreviousNext