1
0
mirror of https://github.com/guzzle/guzzle.git synced 2025-02-26 02:53:22 +01:00

29 Commits

Author SHA1 Message Date
Michael Dowling
a8836a1011 Explicitly setting curl SSL options rather than relying on the defaults (which do the same as the settings I added). Updating some docblocks 2012-10-15 16:38:35 -07:00
Michael Dowling
4c12cc079f Working on breaking the project into components each with its own composer.json file 2012-10-15 16:37:49 -07:00
Michael Dowling
063e0e3a0d PHP-CS-Fixer fixes to remove unused use statements and extra empty lines 2012-09-02 12:01:34 -07:00
Michael Dowling
153ade4125 [Common] [Http] Stream and EntityBody objects will now return the stream
position to it's previous position any time a seek is made for a
temporary operation (e.g. __toString(), getContentLength(),
getContentMd()).
Cleaning up how compression offsets are handled
[Http] Adding the ability to consume request entity bodies when mocked
by the
MockPlugin
[Http] Fixing an offset error in the ReadLimitEntityBody
Only returning a subset of the body when calling __toString() on a
ReadLimitEntityBody
2012-08-07 17:20:09 -07:00
Michael Dowling
3073b40e41 [Common] Not requiring an inspector for any_match. Removing all previously set mock listeners when adding a new mock observer in tests. 2012-05-29 14:37:24 -07:00
Michael Dowling
c98b0fe29e Making getServer() and getServiceBuilder() static in tests. Fixing magic method calls on clients 2012-05-23 12:21:09 -07:00
Michael Dowling
a02c22fcb7 Removing (optional) from docblocks 2012-05-16 00:55:45 -07:00
Michael Dowling
f8e8c0302b Refactoring service builders and service factories
[BC] [Service] Moving Guzzle\Service\Builder to
Guzzle\Service\Builder\ServiceBuilder
[Service] Creating an AbstractFactory used to delegate class
instantiation to a concrete factory. Used with service builders and
service descriptions
[Service] Making service descriptions and builders cacheable
[Service] Adding the ability to set global option overrides to service
builder configs. These options are applied to each service owned by a
service builder.  This can be used to globally specify access keys for
example.
[Service] Adding the ability to include other service builder config
files from within XML and JSON files.
[Service] Changing the format of XML and JSON configs.  Old format still
works too.
[Service] Moving XML service description includes to the end of
execution, so that includes are at the beginning of the parsed array.
[Service] Adding a Guzzle\Service\JsonLoader for loading JSON files that
have an { "includes": [] } array
2012-05-13 23:30:13 -07:00
Michael Dowling
764d935694 Changes to support a Guzzle\Http\Parser namespace
[Common] Adding keySearch method to Collection
[Http] Moving POST curl option logic from EntityEnclosingRequest to the
curl factory method
Directly using the HTTP request object when creating curl handles in the
factory method
No longer adding a read callback when sending POSTs through
CURLOPT_POSTFIELDS
In an effort to mitigate random segfaults and bus errors, using a queue
for removing curl and close handles from a multi object so that they are
only removed when the multi handle has finished sending all requests.
Calling reset() each time a curl multi handle has finished all requests.
EntityEnclosingRequest::getPostFields() now returns a Collection object
Simplifying the EntityEnclosingRequest::getPostFiles method
Adding an array cache to header objects
Moving the header comparison DSL from the Tests namespace to
Guzzle\Http\Message\HeaderComparison, and adding tests.
Adding message, cookie, and url parser interfaces and default
implementations.
Using a parser registry to manage globally registered parsers.  Removing parsing from Response and RequestFactory.
Renaming protocol_version to version
Changing the Guzzle\Http\Message\Response::setProtocol() method to accept a protocol and version in separate args.
Simplifying the chunked encoding handling in RequestFactory
Moving cookie parsing out of the cookie plugin and into Guzzle\Http\Parser\Cookie\CookieParser
Removing regexps from the cookie parser and simply using stripos
Moving the parseQuery method out of Url and on to QueryString::fromString() as a static factory method.
Adding more logging to node.js test webserver
Adding pecl_http message parser.
Installing pecl when travis boots up
2012-05-13 01:23:32 -07:00
Michael Dowling
4fa45e6816 Changing else if to elseif 2012-05-11 21:04:42 -07:00
Michael Dowling
5ff7456cc0 [Service] Adding an 'array' type validator
[Tests] Returning the mock plugin created by calling $this->setMockResponse()
2012-05-08 17:23:32 -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
eb79d98009 [Http] Adding helper DSL to compare filtered HTTP headers with actual HTTP headers.
Adding more coverage to CurlHandle so that the actual HTTP requests being sent are being checked.
Fixing EntityEnclosingRequests so that the Content-Type is not removed when setting the body of a request.
This allows a custom Content-Type to be specified in a factory method.
2012-01-25 22:38:17 -06:00
Michael Dowling
86d21e1fc5 Fixing the setMockResponse() method for GuzzleTestCase 2012-01-16 11:14:41 -06: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
31cf95ab47 Fixing mocks for tests 2011-11-18 13:22:06 -06:00
Michael Dowling
3017b736d4 [Service] Adding a MockPlugin for clients that adds a queue of mock responses to a client object. Refactoring the loading of mock response files in tests (BC for tests). 2011-11-10 15:18:35 -06:00
Michael Dowling
b21cd49b5e Cleaning up template client builder. Adding a service builder to bootstrap files rather than assuming an xml service file. 2011-11-01 22:30:39 -05:00
Michael Dowling
15df911330 Moving the test services.xml to TestData 2011-08-15 09:48:53 -05:00
Michael Dowling
a7ae469671 Removing verbose docblock headers from every class 2011-07-07 17:17:28 -05:00
Michael Dowling
05d4f1038b [Http] [Tests] Removing deprecated assertType calls in tests. Moving Guzzle\Http\Server related code to Guzzle\Tests\Http as it is not used for anything but testing. 2011-04-13 19:33:48 -05:00
Michael Dowling
cc0e767df2 [Tests] Fixing the enableClientDebug method 2011-03-20 20:18:01 -05:00
Michael Dowling
dd76c259e0 [Service] Moving the Guzzle\Service\Builder\ServiceBuilder up one namespace level. 2011-03-09 17:09:40 -06:00
Michael Dowling
24483db994 [Common] [Http] Renaming CacheAdapter to Cache. Removing Logger and just using LogAdapters for the LogPlugin. Moving LogAdapters into the Common\Log namespace. Removing Common\Filter\Chain as signal slots are now used instead. Adding tests for Collection::isRegex(). Removing NullIterator in favor of a more versatile NullObject. 2011-03-09 16:52:28 -06:00
Michael Dowling
e4af51748a [Common] [Service] [Tests] Allowing anonymous functions to subscribe to the EventManager. Removing the create request chain from Clients and instead relying on signal slots. Updating tests to reflect this change. 2011-03-08 10:04:48 -06:00
Michael Dowling
b8972d8385 [Service] [Tests] Cleaning resource iterator apply batched. Adding multi-service option to phpunit.xml so that services can contain mutliple clients and still determine the location of a mock response file 2011-03-01 17:13:09 -06:00
Michael Dowling
170e588f54 [Tests] Allowing mock response files to be in a different directory 2011-03-01 10:18:23 -06:00
Michael Dowling
d2efa79cae [Tests] Refactoring the way in which the service description XML file is loaded so that it allows Service modules to use a custom service.xml file in its test suite 2011-03-01 00:17:15 -06:00
Michael Dowling
d8a1277c69 Guzzle - PHP framework for building REST webservice clients 2011-02-27 22:32:13 -06:00