BC: Removing Guzzle\Service\Inflector in favor Guzzle\Inflection namespace
Can now inject inflectors into clients, and several class name factories
BC: Removing the magic method call set<X> behavior from commands.
* Guzzle\Http\Cookie is now used to manage Set-Cookie data, not Cookie
data
* Moving almost all cookie logic out of the CookiePlugin and into the
Cookie or CookieJar implementations
* Array cookie jar now returns matching cookies for a request and adds
cookies from responses
* Renaming methods in the CookieJarInterface
* Removing old references to deleted classes
* Guzzle\Http\Message\Request no longer needs an internal Cookie object
* Making the default glue for HTTP headers ';' instead of ','
* Adding a removeValue to Guzzle\Http\Message\Header
* Adding getCookies() to request interface.
* Removing unused AUTH_BASIC and AUTH_DIGEST constants from
* Guzzle\Http\Message\RequestInterface
* Lots of cleanup in the Guzzle\Http\Parser\Cookie\CookieParser
* Cleaning up Cookie related tests
Filters are run after type validation.
Adding a functional test to ensure some of the JSON example service
description use cases will work.
Instead of the slew of boolean options the validateConfig() method
required, I added a initConfig() method to add default and static values
to a collection, and removed all validation and idempotent specific args
from validateConfig(). When a commmand is instantiated, default and
static values are added as appropriate. When a command is being
prepared, defaults and statics are again added, but parameters are also
validated (assuming type validation was not globally disabled on the
inspector).
uploads for the same filename.
You can specify the Content-Type of each separate multipart upload. The
Content-Type of each file is automatically guessed if possible, and if
content-type is not explicitly set to false. Resolves#55.
[BC] Refactoring how POST files are stored on an EntityEnclosingRequest.
They are no longer mixed with the POST fields, but rather stored in an
array of separate POST files, each array key corresponding to a POST
field name, and array value containing an array of
associative arrays containing the 'file' and 'type' for each POST file.
You can still specify files and fields when using a client or request
factory, but no longer with an EntityEnclosingRequest->setPostField()
call.
Adding new POST data operations for easier manipulation of POST data.
You can now set empty POST fields. Closes#56.
The body of a request is only shown on EntityEnclosingRequest objects
that do not use POST files.
[BC] FromConfigInterface, the interface that most classes with a factory
method extend from, now specifies the $config option as optional and
uses an array by default. Be sure to update any client factory method
signatures.
Requests are now prepared in the send() method rather than the add()
method when adding a request during a transfer. The send() method now
only prepares requests in the current scope in which the send method was
called. This allows for better handling of commands that require a
request in order to prepare themselves for sending (e.g. a request that
requires a token that requires an HTTP request). The BatchQueuePlugin
and CommandSet no longer add requests using async as that was a hack to
support the previous implementation.