mirror of
https://github.com/guzzle/guzzle.git
synced 2025-02-12 11:30:49 +01:00
request.params is deprecated. Use request.options/params. Adding params request option.
This commit is contained in:
parent
8234e2f781
commit
505bb7b665
@ -71,6 +71,7 @@ Next version
|
||||
- Marked `Guzzle\Cache\CacheAdapterFactory::factory()` as deprecated
|
||||
- Marked 'command.headers', 'command.response_body' and 'command.on_complete' as deprecated for AbstractCommand.
|
||||
These will work through Guzzle 4.0
|
||||
- Marked 'request.params' for `Guzzle\Http\Client` as deprecated. Use [request.options][params].
|
||||
- Marked `Guzzle\Service\Client::enableMagicMethods()` as deprecated. Magic methods can no longer be disabled on a Guzzle\Service\Client.
|
||||
- Marked `Guzzle\Service\Client::getDefaultHeaders()` as deprecated. Use $client->getConfig()->getPath('request.options/headers')`.
|
||||
- Marked `Guzzle\Service\Client::setDefaultHeaders()` as deprecated. Use $client->getConfig()->setPath('request.options/headers/{header_name}', 'value')`.
|
||||
|
@ -23,8 +23,10 @@ use Guzzle\Http\Curl\CurlVersion;
|
||||
*/
|
||||
class Client extends AbstractHasDispatcher implements ClientInterface
|
||||
{
|
||||
const REQUEST_OPTIONS = 'request.options';
|
||||
/** @deprecated Use [request.options][params] */
|
||||
const REQUEST_PARAMS = 'request.params';
|
||||
|
||||
const REQUEST_OPTIONS = 'request.options';
|
||||
const CURL_OPTIONS = 'curl.options';
|
||||
const SSL_CERT_AUTHORITY = 'ssl.certificate_authority';
|
||||
const DISABLE_REDIRECTS = RedirectPlugin::DISABLE;
|
||||
@ -64,7 +66,9 @@ class Client extends AbstractHasDispatcher implements ClientInterface
|
||||
public function __construct($baseUrl = '', $config = null)
|
||||
{
|
||||
if (!extension_loaded('curl')) {
|
||||
// @codeCoverageIgnoreStart
|
||||
throw new RuntimeException('The PHP cURL extension must be installed to use Guzzle.');
|
||||
// @codeCoverageIgnoreEnd
|
||||
}
|
||||
$this->setConfig($config ?: new Collection());
|
||||
$this->initSsl();
|
||||
@ -386,6 +390,7 @@ class Client extends AbstractHasDispatcher implements ClientInterface
|
||||
}
|
||||
|
||||
if ($params = $this->config[self::REQUEST_PARAMS]) {
|
||||
Version::warn('request.params is deprecated. Use request.options to add default request options.');
|
||||
$request->getParams()->overwriteWith($params);
|
||||
}
|
||||
|
||||
|
@ -283,6 +283,15 @@ class RequestFactory implements RequestFactoryInterface
|
||||
$request->setResponseBody($value);
|
||||
}
|
||||
|
||||
protected function visit_params(RequestInterface $request, $value, $flags)
|
||||
{
|
||||
if (!is_array($value)) {
|
||||
throw new InvalidArgumentException('params value must be an array');
|
||||
}
|
||||
|
||||
$request->getParams()->overwriteWith($value);
|
||||
}
|
||||
|
||||
protected function visit_timeout(RequestInterface $request, $value, $flags)
|
||||
{
|
||||
$request->getCurlOptions()->set(CURLOPT_TIMEOUT_MS, $value * 1000);
|
||||
|
@ -82,6 +82,7 @@ interface RequestFactoryInterface
|
||||
* "events": Associative array mapping event names to a closure or array of (priority, closure)
|
||||
* "plugins": Array of plugins to add to the request
|
||||
* "exceptions": Set to false to disable throwing exceptions on an HTTP level error (e.g. 404, 500, etc)
|
||||
* "params": Set custom request data parameters on a request. (Note: these are not query string parameters)
|
||||
* "timeout": Float describing the timeout of the request in seconds
|
||||
* "connect_timeout": Float describing the number of seconds to wait while trying to connect. Use 0 to wait
|
||||
* indefinitely.
|
||||
|
@ -33,8 +33,8 @@ class RedirectPlugin implements EventSubscriberInterface
|
||||
{
|
||||
return array(
|
||||
'request.sent' => array('onRequestSent', 100),
|
||||
'request.clone' => 'onRequestClone',
|
||||
'request.before_send' => 'onRequestClone'
|
||||
'request.clone' => 'cleanupRequest',
|
||||
'request.before_send' => 'cleanupRequest'
|
||||
);
|
||||
}
|
||||
|
||||
@ -43,9 +43,11 @@ class RedirectPlugin implements EventSubscriberInterface
|
||||
*
|
||||
* @param Event $event Event emitted
|
||||
*/
|
||||
public function onRequestClone(Event $event)
|
||||
public function cleanupRequest(Event $event)
|
||||
{
|
||||
$event['request']->getParams()->remove(self::REDIRECT_COUNT)->remove(self::PARENT_REQUEST);
|
||||
$params = $event['request']->getParams();
|
||||
unset($params[self::REDIRECT_COUNT]);
|
||||
unset($params[self::PARENT_REQUEST]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -225,6 +225,7 @@ class ClientTest extends \Guzzle\Tests\GuzzleTestCase
|
||||
|
||||
public function testClientAddsParamsToRequests()
|
||||
{
|
||||
Version::$emitWarnings = false;
|
||||
$client = new Client('http://www.example.com', array(
|
||||
'api' => 'v1',
|
||||
'request.params' => array(
|
||||
@ -235,6 +236,7 @@ class ClientTest extends \Guzzle\Tests\GuzzleTestCase
|
||||
$request = $client->createRequest();
|
||||
$this->assertEquals('bar', $request->getParams()->get('foo'));
|
||||
$this->assertEquals('jar', $request->getParams()->get('baz'));
|
||||
Version::$emitWarnings = true;
|
||||
}
|
||||
|
||||
public function urlProvider()
|
||||
|
@ -550,7 +550,7 @@ class HttpRequestFactoryTest extends \Guzzle\Tests\GuzzleTestCase
|
||||
public function inputValidation()
|
||||
{
|
||||
return array_map(function ($option) { return array($option); }, array(
|
||||
'headers', 'query', 'cookies', 'auth', 'events', 'plugins'
|
||||
'headers', 'query', 'cookies', 'auth', 'events', 'plugins', 'params'
|
||||
));
|
||||
}
|
||||
|
||||
@ -563,4 +563,11 @@ class HttpRequestFactoryTest extends \Guzzle\Tests\GuzzleTestCase
|
||||
$client = new Client();
|
||||
$client->get('/', array(), array($option => 'foo'));
|
||||
}
|
||||
|
||||
public function testCanAddRequestParams()
|
||||
{
|
||||
$client = new Client();
|
||||
$request = $client->put('/', array(), null, array('params' => array('foo' => 'test')));
|
||||
$this->assertEquals('test', $request->getParams()->get('foo'));
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user