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

257 Commits

Author SHA1 Message Date
Michael Dowling
9e0b2113e9 Another content-type fix 2012-07-21 22:43:59 -07:00
Michael Dowling
8aad81db63 One more broken content-type fix 2012-07-21 22:28:46 -07:00
Michael Dowling
7665ac74b2 Updating tests so that they work with the broken behavior of returning text/x-c++ for the content-type of .php scripts 2012-07-21 22:26:00 -07:00
Michael Dowling
51884a9402 [Common] Cleaning up Collection 2012-07-21 20:36:52 -07:00
Matt Button
aeeb31a4ed Treat '+' as encoded space when parsing query string
According to RFC1738 (implemented by urlencode) spaces are encoded as
plus symbols. However, RFC3986 (imeplemented by rawurlencode) states
that spaces should be encoded as '%20'.

When parsing a query string that was encoded with urlencode we should
treat plus symbols as spaces.

fixes #105
2012-07-19 13:50:55 +01:00
Michael Dowling
c669aa0c7a [Http] Fixing POST redirects so that they are followed with a GET (use the undocumented CURLOPT_POSTREDIR option to change this behavior). Closes #23 2012-07-15 23:36:46 -07:00
Ben Selby
f1b55b27dc Allow configuration to be specified on a service descriptor
An example of this would be:
<param name="curl.CURLOPT_CONNECTTIMEOUT" default="100" />

This would override the configuration set by the instantiation:

new Client(
    'http://www.example.com',
    array('curl.CURLOPT_CONNECTTIMEOUT' => 100)
);
2012-07-13 22:48:09 +01:00
Michael Dowling
db66916895 [Parser] Values set to null are treated as undefined. Minor short circuit if improvement to Guzzle\Http\Url 2012-07-12 11:11:39 -07:00
Michael Dowling
56c7fa0aeb [Parser] Not urldecoding cookie values by default. Addresses #99. 2012-07-11 00:10:16 -07:00
Michael Dowling
6716de4edb [Service] Adding the ability to specify curl options in commands using an array called curl.options. Closes #100 2012-07-10 23:00:07 -07:00
Michael Dowling
c8b3c4c3d0 [Http] Cleaning up CurlHandle, EntityEnclosingRequestInterface, and AbstractMessage
The responsibility of setting a Content-Length of 0 for an empty EntityEnclosingRequest is now handled in the setState method of an EntityEnclosingRequest
Removing the action argument from Guzzle\Http\Message\AbstractMessage::changedHeader()
Passing an array of Cache-Control data in the Cache-Control header instead of the unnecessary implode
Removing process as an argument for Guzzle\Http\Message\EntityEnclosingRequest::addPostField
Enforcing the decision of whether or not to URL encode POST data in the CurlHandle class
Closes #95
2012-07-08 22:39:08 -07:00
Michael Dowling
7048755299 [Http] Refactoring QueryString
- Adds a trailing equal sign for empty values by default (e.g. ?acl=)
- Set blank values (e.g. ?acl) by setting the value to QueryString::BLANK
- Combined URL encoding into a single option rather than separate
  settings for fields and values
- Changed isEncodingValues() and isEncodingFields() to isUrlEncoding()
- Changed setEncodeValues(bool) and setEncodeFields(bool) to useUrlEncoding(bool)
- Changed the aggregation functions of QueryString to be static methods
- Can now use fromString() with querystrings that have a leading ?
2012-07-08 17:17:07 -07:00
Ryan Weaver
3201541783 Fix for a situation where a "blank" (e.g. null, false) value for a query string parameter resulted in a missing "=":
Suppose that we set the following data on a QueryString object:

array(
    'foo' => null,
    'bar' => 'test',
)

The query string before and after this change would be:

BEFORE: ?foo&bar=test
AFTER:  ?foo=&bar=test

The importance is that before the lack of "=" resulted made it look like there was only a single parameter called "foo&bar" with a value of "test" (i.e. the bar parameter is joined with foo).
2012-07-08 13:32:45 -05:00
Michael Dowling
feb5ac5a0c [Common] Improving the batch interfaces to better separate divisors from
transfers.
BC: Removing count from batch and replacing it with isEmpty()
Batch divisors can now return iterators or arrays
2012-07-02 13:40:17 -07:00
Michael Dowling
142e2460f2 [BC] Moving things around for subtree splits.
Moving Inflection into Common. Moving Guzzle\Http\Parser to Guzzle\Parser.
Adding composer.json files for each subtree split
Fixing failing curl test
2012-06-29 16:13:43 -07:00
Michael Dowling
569cdb1c37 [Http] Cleaning up the CachePlugin
Not caching requests other than GET and HEAD by default. Adding the ability to
use a custom filter strategy to determine if a request can be cached. Closes #91
2012-06-29 12:54:24 -07:00
Dave Marshall
bad3b1a525 Overwrite cookies that have changed 2012-06-29 12:11:47 +01:00
Michael Dowling
ce60434f54 Allowing for deeply nested URI template composite expansion. Closes #90. 2012-06-28 18:32:25 -07:00
Michael Dowling
7911c8521a [Http] Using header glue when sending requests. Allowing the retrieval of header objects. Adding a method for the retrieval of header lines. 2012-06-28 10:16:40 -07:00
Michael Dowling
95bd5309ad Updating version for UA string. Fixing test that was not mocked correctly. Updating build process. 2012-06-26 18:58:44 -07:00
Michael Dowling
d7501355eb [Http] Tolerating colons in response start-lines. Cleaning up parsing. 2012-06-25 12:55:03 -07:00
Michael Dowling
883309d8e8 [Http] Throwing an exception if a message-header is received before a start-line. Using static array for normalizing received response headers. 2012-06-25 11:45:36 -07:00
Michael Dowling
c824bf7b83 [Common] Cleaning up BatchClosureTransfer 2012-06-25 10:12:53 -07:00
Michael Dowling
3c4543868a [Service] Adding the ability to set POST fields and files in service
descriptions.

Closes #76
2012-06-24 12:15:26 -07:00
Michael Dowling
e914e7a4e7 [Http] Debug curl options are no longer enabled by default
Set 'debug' to true on a request's curl options to enable debug verbose
output.
Closes #83
2012-06-24 11:55:44 -07:00
Michael Dowling
a17aff3abc Renaming ServiceBuilderPlugin to PluginCollectionPlugin. Cleaning up. 2012-06-24 11:07:31 -07:00
Michael Dowling
d9654d8c7c Merge remote-tracking branch 'gimler/service_plugin' 2012-06-24 10:55:05 -07:00
Michael Dowling
7127568338 [Service] Not inflecting magic method command names in the magic method, but rather passing that responsibility on to command factories. The service description command factory will now first check for an exact match of a command name followed by an inflected snake_case match if an inflector was passed into the constructor of the factory. 2012-06-22 10:32:48 -07:00
Michael Dowling
653db131c4 [Service] Adding a more helpful error message when attempting to use an abstract factory with an unsupported file extension. 2012-06-20 18:42:45 -07:00
Michael Dowling
d43e9d40f9 [Http] Cleaning up how EntityBody::factory works and making the worst case faster. Allowing objects with __toString() methods to be passed to the EntityBody::factory() method 2012-06-19 18:34:06 -07:00
Gordon Franke
fc467d24fe add ServiceBuilderPlugin 2012-06-19 08:44:48 +02:00
Michael Dowling
9586d67b66 [Common] Adding BatchClosureDivisor
[Http] Throwing exception when a php://temp stream cannot be created
when using CURLOPT_STDERR
Adding client keyword to composer
2012-06-18 21:22:33 -07:00
Jeremy Lindblom
f22d8a849a Fixing typos. fixes #80 and fixes #81. 2012-06-15 00:03:12 -07:00
Jeremy Lindblom
45ee000e23 Added getters and setters to BatchSizeDivisor and FlushingBatch. Changed BatchTransferException to contain a reference to the transfer and divisor objects. 2012-06-14 16:54:32 -07:00
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
Jeremy Lindblom
ec0991569f Fixed some typos, mostly in comments. Also fixed the LogPluginTest to make one of the assertContains checks more generic such that it passes on more systems. 2012-06-14 10:23:53 -07:00
Jeremy Lindblom
e3b3c3c19f Added BatchClosureTransfer - fixes #75.
The BatchClosureTransfer allows a closure to be passed in for specifying transfer logic in the batch system.
2012-06-14 09:22:55 -07:00
Michael Dowling
542503ef2a Merge pull request #69 from gimler/array_adapter
add array log adapter
2012-06-12 10:11:43 -07:00
Gordon Franke
632037b9af add array log adapter 2012-06-12 11:18:08 +02:00
Gordon Franke
3875fa2a4e use phpunit.xml.dist instate phpunit.xml as test file 2012-06-11 11:23:07 +02:00
Gordon Franke
f171e85e50 skip tests if pecl_http ist not installed 2012-06-11 11:22:42 +02:00
Michael Dowling
f8a2197991 Adding a new generic batching system for requests and commands.
BC: Removed Guzzle\Http\Plugin\BatchQueuePlugin
BC: Removed Guzzle\Service\Command\CommandSet
2012-06-10 00:42:23 -07:00
Michael Dowling
cd043b61b3 [Service] Adding doc_url to service descriptions 2012-06-06 20:51:54 -07:00
Michael Dowling
7370ad44ca [Service] Adding result_type, result_doc, and deprecated to service description commands. Changing most default values of command date to null instead of an empty string. 2012-06-06 17:06:16 -07:00
Michael Dowling
ebaff511f7 [Service] Ensuring that the name of each ApiParam is set when creating ApiParams in the ApiCommand constructor 2012-06-06 16:01:13 -07:00
Michael Dowling
d8a6bf4849 Updating ZF2 cache and log adapters. Using the ZF2 provided composer repositories. 2012-06-04 12:17:20 -07:00
Michael Dowling
76ac09bc5a Making it easier to add event subscribers 2012-06-02 22:42:21 -07:00
Michael Dowling
0d59a479bb Fixing brittle test. Removing debug stuff from travis 2012-06-02 21:56:23 -07:00
Michael Dowling
1136c66774 [Http] BC: Renaming Guzzle\Http\Message\RequestInterface::getResourceUri() to getResource() 2012-06-02 21:49:42 -07:00
Michael Dowling
614e4d1666 [Http] Refactoring cookie implementation
* 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
2012-06-02 21:38:05 -07:00