1
0
mirror of https://github.com/guzzle/guzzle.git synced 2025-02-27 03:24:15 +01:00

12 Commits

Author SHA1 Message Date
Michael Dowling
c500f0bf0c [Inflection] [Service] Adding more inflection flexibility
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.
2012-06-14 12:03:48 -07:00
Michael Dowling
68e7a72f21 CS updates. Updating FromConfigInterface
[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.
2012-05-21 14:08:11 -07:00
Michael Dowling
666e0439c3 [Service] Moving resource iterator classes to Guzzle\Service\Resource.
Adding ResourceIteratorFactoryInterface with a class name resolution
implementation.  Adding a resource iterator factory to
Guzzle\Service\Client and adding a getIterator method to make it easy to
retrieve iterators from the client.
2012-05-09 14:07:55 -07:00
Michael Dowling
f5a9e9bf82 [Service] Allowing commands to be sent more than once through a client
Allowing cloned commands that have previously been sent to be sent again.
Redesigning the ResourceIterator class so that it accepts a command and iterates over the command until the sendRequest() method returns an empty array.
Adding the name of the parameter that received a type validation error to Inpector error messages
2012-05-08 14:28:45 -07:00
Michael Dowling
c0dc85de35 Breaking / Potentially breaking changes:
1. Adopting a marker interface for Guzzle exceptions.
        A. All exceptions emitted from Guzzle are now wrapped with a Guzzle namespaced exception.
        B. Guzzle\Common\GuzzleExceptionInterface was renamed to Guzzle\Common\GuzzleException
        C. Guzzle\Common\ExceptionCollection was renamed to Guzzle\Common\Exception\ExceptionCollection
    2. Using Header objects for Request and Response objects
        A. When you call $request->getHeader('X'), you will get back a Guzzle\Http\Message\Header object that contains all of the headers that case insensitively match.  This object can be cast to a string or iterated like an array.  You can pass true in the second argument to retrieve the header as a string.
        B. Removing the old Guzzle\Common\Collection based searching arguments from most of the request and response header methods.  All retrievals are case-insensitive and return Header objects.
    3. Changing the two headers added by the cache plugin to just one header with key and ttl.
    4. Changing Guzzle\Http\Message\Response::factory() to fromMessage().
    5. Removing the NullObject return value from ServiceDescriptions and instead simply returning null

New Features / enhancements:

    1. Adding Guzzle\Http\Message\AbstractMessage::addHeaders()
    2. Making it simpler to create service descriptions using a unified factory method that delegates to other factories.
    3. Better handling of ports and hosts in Guzzle\Http\Url

Note: This is a noisy diff because I'm removing trailing whitespace and adding a new line at the end of each source file.
2012-04-22 00:17:49 -07:00
Michael Dowling
4c46e77015 Guzzle 2.0
Adopting composer for dependency management
Updating LICENSE, travis build file, making better use of git ignores, and remove unused build target
Removing @author tags.  Use the commit history for a changelog.
Moving files from build folder to /
Adding min build target to product a Guzzle only phar with no autoloader
[Common] Accepting ZF1 or ZF2 cache in ZendCacheAdapter
[Common] Optimizing Stream wrapper and EntityBody abstractions.
[Common] [Http] Migrating from Guzzle event system to the Symfony2 event dispatcher
[Common] Moved Inflector and Inspector to Service namespace
[Http] Simplifying Guzzle\Guzzle curl detection
[Http] Removing Guzzle\Http\Pool and now using Guzzle\Http\Curl\CurlMulti
[Http] The helper methods from Guzzle\Http\Message\RequestFactory have been removed to prevent confusion and encourage developers to use Guzzle\Http\Client to create requests.
[Http] Clients can now send one or more requests in an array using the send() method, so the batch() method was removed.
[Http] Updating curl multi to allow blocking calls while sending other transfers
[Http] Making the Request::hasHeader method more intuitive.  Guzzle\Http\Message\AbstractMessage::hasHeader() now returns true if the header is found using exact matching.  If the header is found using a regex or case-insensitive match, then it will return the name of the found header.
[Http] Removing content-type guessing from EntityBody based on file extension and solely using finfo.
[Http] Adding basic auth plugin
[Http] Cleaning up CookieJar and CurlMulti
[Http] Removing custom rawurlencode from QueryString because PHP 5.3 now properly deals with tilde characters.
[Http] Minor optimization to parsing messages in RequestFactory
[Http] Adding Guzzle\Http\Client for developers that don't need commands or service descriptions
[Http] Making it easier to set a global User-Agent header for a Guzzle\Http\Client
[Http] Fixing the discrepancies between the ClientInterface and Guzzle\Http\Client
[Http] Adding the ability to set and retrieve tokenized headers from Requests and Responses
[Service] Ditching NIH filters and using the Symfony2 validator
[Service] Moving most service building logic to the ServiceBuilder::factory method so that it is easier to build custom config readers.
[Service] Allowing deep nested command inheritance.
[Service] Cleaning up Inflector caching.
[Service] Getting rid of concept of can_batch because everything is now sent in parallel.
[Service] Adding a JSON description builder.
[Service] Cleaning up ResourceIteratorApplyBatched.
[Service] Removing caching stuff from ServiceBuilder because the data being cached is extremely fast to generate.
[Service] Added a method to serialize the ServiceDescription in case a ServiceDescription needs to be cached in an application.
[Service] Making description builders use static methods.
[Service] Adding support to include other description files for XML and JSON description builders.
[Service] Adding support for filters to ApiCommands
[Service] Using {{}} instead of $. to reference other services as a dependency for another service
2012-01-14 13:57:05 -06:00
Michael Dowling
a7ae469671 Removing verbose docblock headers from every class 2011-07-07 17:17:28 -05:00
Michael Dowling
8cd23cefb1 [Service] Removing service descriptions from concrete command based clients. Only use a service description if your client uses dynamic commands. Dynamic commands and concrete commands can be used in the same client-- Client::getCommand will look to see if a service description has been set and if it contains the command by name, then the client will see if a concrete command class matches the supplied name using inflection. Removing caching stuff from client factory methods. Removing client builders as a factory can handle it. 2011-03-20 17:51:54 -05:00
Michael Dowling
5000972453 [Service] Removing the need to create builders. Giving clients back their constructor and removing the docblock annotation magic from clients. Using a factory method for every client with a custom constructor so that the service builder will be able to convert an array of parameters into a client. Simplifying service builder and services.xml. 2011-03-18 14:04:57 -05:00
Michael Dowling
58bce23cf9 [Service] Moving docblock annotations for services into the builder and giving clients back their constructors. 2011-03-17 22:37:20 -05:00
Michael Dowling
8c5bef47b1 [Http] [Service] Making the default request factory use static methods. Adding common HTTP method helper methods to the request factory. Renaming Client::getRequest() to Client::createRequest(). Renaming some methods of the RequestFactory. Changing the interface of Client::createRequest() to use a string or array and proxy calls to the default request factory. The createRequest method can be overridden in sub-classes if you need to use custom request objects. 2011-03-11 13:52:26 -06:00
Michael Dowling
6584ae411e Removing third party services from main repository. Refactoring tests to account for the absence of third party libaries-- using mock objects in their place. Fixing a bug in Inspector that would miss injection delimiters at the beginning of a string. Fixing a bug in ResourceIteratorApplyBatched that caused some resources to skipped when sending batch data to the callback. 2011-02-28 22:30:22 -06:00