本文整理匯總了PHP中Guzzle\Service\Description\ServiceDescription::getData方法的典型用法代碼示例。如果您正苦於以下問題:PHP ServiceDescription::getData方法的具體用法?PHP ServiceDescription::getData怎麽用?PHP ServiceDescription::getData使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Guzzle\Service\Description\ServiceDescription
的用法示例。
在下文中一共展示了ServiceDescription::getData方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: getSignature
/**
* Return an appropriate signature object for a a client based on the
* "signature" configuration setting, or the default signature specified in
* a service description. The signature can be set to a valid signature
* version identifier string or an instance of Aws\Common\Signature\SignatureInterface.
*
* @param ServiceDescription $description Description that holds a signature option
* @param Collection $config Configuration options
*
* @return SignatureInterface
* @throws InvalidArgumentException
*/
protected function getSignature(ServiceDescription $description, Collection $config)
{
// If a custom signature has not been provided, then use the default
// signature setting specified in the service description.
$signature = $config->get(Options::SIGNATURE) ?: $description->getData('signatureVersion');
if (is_string($signature)) {
if ($signature == 'v4') {
$signature = new SignatureV4();
} elseif ($signature == 'v2') {
$signature = new SignatureV2();
} elseif ($signature == 'v3https') {
$signature = new SignatureV3Https();
} else {
throw new InvalidArgumentException("Invalid signature type: {$signature}");
}
} elseif (!$signature instanceof SignatureInterface) {
throw new InvalidArgumentException('The provided signature is not ' . 'a signature version string or an instance of ' . 'Aws\\Common\\Signature\\SignatureInterface');
}
// Allow a custom service name or region value to be provided
if ($signature instanceof EndpointSignatureInterface) {
// Determine the service name to use when signing
$signature->setServiceName($config->get(Options::SIGNATURE_SERVICE) ?: $description->getData('signingName') ?: $description->getData('endpointPrefix'));
// Determine the region to use when signing requests
$signature->setRegionName($config->get(Options::SIGNATURE_REGION) ?: $config->get(Options::REGION));
}
return $signature;
}
示例2: testPersistsCustomAttributes
public function testPersistsCustomAttributes()
{
$data = array('operations' => array('foo' => array('class' => 'foo', 'parameters' => array())), 'name' => 'Name', 'description' => 'Test', 'apiVersion' => '1.24', 'auth' => 'foo', 'keyParam' => 'bar');
$d = new ServiceDescription($data);
$d->setData('hello', 'baz');
$this->assertEquals('foo', $d->getData('auth'));
$this->assertEquals('baz', $d->getData('hello'));
$this->assertEquals('bar', $d->getData('keyParam'));
// responseClass and responseType are added by default
$data['operations']['foo']['responseClass'] = 'array';
$data['operations']['foo']['responseType'] = 'primitive';
$this->assertEquals($data + array('hello' => 'baz'), json_decode($d->serialize(), true));
}
示例3: getSignature
/**
* Return an appropriate signature object for a a client based on a description
*
* @param ServiceDescription $description Description that holds a signature option
* @param Collection $config Configuration options
*
* @return SignatureInterface
* @throws InvalidArgumentException
*/
protected function getSignature(ServiceDescription $description, Collection $config)
{
if (!($signature = $config->get(Options::SIGNATURE))) {
switch ($description->getData('signatureVersion')) {
case 'v2':
$signature = new SignatureV2();
break;
case 'v3':
$signature = new SignatureV3();
break;
case 'v3https':
$signature = new SignatureV3Https();
break;
case 'v4':
$signature = new SignatureV4();
break;
default:
throw new InvalidArgumentException('Service description does not specify a valid signatureVersion');
}
}
// Allow a custom service name or region value to be provided
if ($signature instanceof EndpointSignatureInterface) {
// Determine the service name to use when signing
if (!($service = $config->get(Options::SIGNATURE_SERVICE))) {
if (!($service = $description->getData('signingName'))) {
$service = $description->getData('endpointPrefix');
}
}
$signature->setServiceName($service);
// Determine the region to use when signing requests
if (!($region = $config->get(Options::SIGNATURE_REGION))) {
$region = $config->get(Options::REGION);
}
$signature->setRegionName($region);
}
return $signature;
}
示例4: addSignature
/**
* Return an appropriate signature object for a a client based on a description
*
* @param ServiceDescription $description Description that holds a signature option
* @param Collection $config Configuration options
*
* @throws InvalidArgumentException
*/
protected function addSignature(ServiceDescription $description, Collection $config)
{
if (!($signature = $config->get(Options::SIGNATURE))) {
if (!$description->getData('signatureVersion')) {
throw new InvalidArgumentException('The service description does not specify a signatureVersion');
}
switch ($description->getData('signatureVersion')) {
case 'v2':
$signature = new SignatureV2();
break;
case 'v3':
$signature = new SignatureV3();
break;
case 'v3https':
$signature = new SignatureV3Https();
break;
case 'v4':
$signature = new SignatureV4();
break;
}
}
// Allow a custom service name or region value to be provided
if ($signature instanceof EndpointSignatureInterface) {
$signature->setServiceName($config->get(Options::SIGNATURE_SERVICE) ?: $description->getData('signingName'));
$signature->setRegionName($config->get(Options::SIGNATURE_REGION));
}
$config->set(Options::SIGNATURE, $signature);
}