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

2117 Commits

Author SHA1 Message Date
Michael Dowling
2470715f9b [Http] Not requiring status codes or reason phrases to match a predefined list. Closes #64. 2012-05-29 16:33:52 -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
0eafe01bba [Service] Only appending and prepending if they are set on a dynamic command 2012-05-28 13:24:06 -07:00
Michael Dowling
699c27bca6 [Http] Passing the request object to a calculateWait function. Closes #63 2012-05-28 12:54:37 -07:00
Michael Dowling
492ec724a5 Merge pull request #62 from guzzle/non_blocking
[Http] Adding an AsyncPlugin
2012-05-28 12:50:18 -07:00
Michael Dowling
6dfd3d2809 [Http] Adding an AsyncPlugin 2012-05-24 20:15:58 -07:00
Michael Dowling
c877894bcb [Common] Allowing dot notation for classes when using the instance_of validation constraint. Now works with JSON service descriptions. 2012-05-24 13:53:23 -07:00
Michael Dowling
21e5afccbf Merge remote-tracking branch 'davedevelopment/nested-post-with-files' 2012-05-24 13:09:06 -07:00
Michael Dowling
82c1b2ac57 [Service] Allowing the result of a command to be changed. pt 2. 2012-05-24 13:08:33 -07:00
Michael Dowling
7cfd7e765b [Service] Allowing the result of a command to be changed 2012-05-24 13:06:16 -07:00
David Abdemoulaie
05f819ee51 Updating test to reflect correct version string 2012-05-24 10:36:19 -05:00
David Abdemoulaie
80d66fedd5 Fixing default User-Agent version numbers
(PHP version was swapped with curl version)
2012-05-24 10:10:39 -05:00
Dave Marshall
fe9e122d9e Aggregate and encode data before passing to curl 2012-05-24 11:55:26 +01:00
Michael Dowling
d812cb0d39 Fixing the email constraint so that it only checks strings 2012-05-23 23:33:00 -07:00
Michael Dowling
d2b59d2680 [Common] Adding an any_match validation constraint that passes if any constraints pass 2012-05-23 23:05:37 -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
bf668df105 Updating changelog v2.6.3 2012-05-23 00:23:26 -07:00
Michael Dowling
c9aca2daad Refactoring how the Inspector works with commands.
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).
2012-05-22 23:58:29 -07:00
Michael Dowling
d25fc74fa0 [Http] Adding support for Content-Type in POST upload and multiple POST
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.
2012-05-22 23:30:05 -07:00
Michael Dowling
2529aaa3b1 Removing the requirement that HTTPS requests needed a Cache-Control: public directive to be cacheable. 2012-05-22 14:33:11 -07:00
Michael Dowling
5b597ce24c [Service] Moving parameter filters before validation 2012-05-21 20:35:17 -07:00
Michael Dowling
eae166dc0b CS. Trimming trailing whitespace. 2012-05-21 14:17:53 -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
c3bea404f7 Merge pull request #54 from everzet/form-method-get
Added support for forms with method="get"
2012-05-20 11:32:37 -07:00
everzet
0e3bdd661a added support for forms with method="get"
there's some forms with method unset or method="get",
like http://en.wikipedia.org/wiki/Main_Page. Those pages
were failing before this commit
2012-05-20 18:02:11 +02:00
Michael Dowling
d9f70ea3d8 Updating changelog 2012-05-19 16:14:16 -07:00
Michael Dowling
468b3b71a8 [Http] Better handling of nested scope requests in CurlMulti
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.
v2.6.2
2012-05-19 15:47:10 -07:00
Michael Dowling
cd8f008050 Removing XmlElement. Updating changelog v2.6.1 2012-05-19 01:23:07 -07:00
Michael Dowling
7b1ba96086 [BC] Making Inspector::parseDocBlock protected and all commands now have
an ApiCommand.
2012-05-19 01:13:07 -07:00
Michael Dowling
b6443f301e Removing NullObject 2012-05-18 22:43:03 -07:00
Michael Dowling
22d18bec02 Updating some docblock formatting. 2012-05-18 22:25:21 -07:00
Michael Dowling
05aaadf383 Beginning some refactoring of the inspector 2012-05-18 21:54:55 -07:00
Michael Dowling
34481951e2 Making the method signature of ServiceBuilder::factory() more flexible for extension. 2012-05-18 21:51:11 -07:00
Michael Dowling
db52e3fc43 Adding checks for cURL errors in the CurlMulti loop to prevent endless loops after timeouts 2012-05-18 21:50:20 -07:00
Michael Dowling
696419f382 Fixing a couple docblock tags 2012-05-16 21:56:41 -07:00
Michael Dowling
5dfee7b2ea Addings empty() checks and substr() to EntityEnclosingRequest so that Uninitialized string offset: 0 errors are avoided. Closes #53 2012-05-16 10:01:13 -07:00
Michael Dowling
a02c22fcb7 Removing (optional) from docblocks 2012-05-16 00:55:45 -07:00
Michael Dowling
7d29ff52ef [Common] Adding missing docblock annotations. Removing extra $config->set() method in Inspector. 2012-05-16 00:51:48 -07:00
Michael Dowling
18b6bf284e Updating to latest version of composer 2012-05-15 08:38:38 -07:00
Michael Dowling
e77e1e1978 Adding a CHANGELOG. Fixes #52.
Bumping version number
v2.6.0
2012-05-15 08:32:20 -07:00
Michael Dowling
f63b853605 Adding an addRequest method to the BatchQueuePlugin. Fixing a docblock for CurlMulti 2012-05-14 22:34:10 -07:00
Michael Dowling
c457e3e47c [Http] Optimizing getTokenizedHeader 2012-05-14 21:52:57 -07:00
Michael Dowling
800ac34b5f Trimming up the default User-Agent header and putting entries in order of importance 2012-05-14 21:46:23 -07:00
Michael Dowling
9863ff6a06 Reafactoring Cookie parsing a bit 2012-05-14 21:36:28 -07:00
Michael Dowling
4a7f4870b7 [Http] Moving UriTemplates to Guzzle\Http\Parser\UriTemplate namespace (hoping for a C implementation at some point for PHP). 2012-05-14 13:48:52 -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
72b8a76b4e Moving getUrlPartsFromMessage from a static method to an abstract class 2012-05-13 14:43:12 -07:00
Michael Dowling
c6bda888b6 Performance improvement. Using variable function rather than call_user_func() for type checks. 2012-05-13 13:03:48 -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
82d483d0e8 [Service] Inspector can be injected into a Command object 2012-05-12 00:42:07 -07:00