本文整理汇总了PHP中Guzzle\Service\Command\OperationCommand类的典型用法代码示例。如果您正苦于以下问题:PHP OperationCommand类的具体用法?PHP OperationCommand怎么用?PHP OperationCommand使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了OperationCommand类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getCommandWithArrayParamAndFilters
protected function getCommandWithArrayParamAndFilters()
{
$operation = new Operation(array('httpMethod' => 'POST', 'parameters' => array('foo' => new Parameter(array('type' => 'string', 'location' => 'query', 'sentAs' => 'Foo', 'required' => true, 'default' => 'bar', 'filters' => array('strtoupper'))), 'arr' => new Parameter(array('type' => 'array', 'location' => 'query', 'sentAs' => 'Arr', 'required' => true, 'default' => array(123, 456, 789), 'filters' => array(array('method' => 'implode', 'args' => array(',', '@value'))))))));
$command = new OperationCommand(array(), $operation);
$command->setClient(new MockClient());
return $command;
}
示例2: fromCommand
public static function fromCommand(OperationCommand $command)
{
$response = json_decode($command->getResponse()->getBody(true), true);
$class = get_called_class();
// Cannot do new self() with abstract class
return new $class($response);
}
示例3: fromCommand
/**
* The fromCommand method is used by Guzzle to create an instance of this class. It "injects"
* the response data, which is then parsed to populate this and the associated models.
*
* @param Guzzle\Service\Command\OperationCommand
* @return array
*/
public static function fromCommand(\Guzzle\Service\Command\OperationCommand $command)
{
// Grab the results, which will be in JSON format
//krumo($command->getResponse());
$result = $command->getResponse()->json();
// Start building an array, since a call to the API can include several different sites
$websites = array();
// Now iterate through the results
foreach ($result as $key => $row) {
// "Target" is a stripped-down version of the URL provided
$url = $row['target'];
// Create a new Website model
$website = new Website($url);
// The 0 axis holds information about trustworthiness
if (isset($row[0])) {
$website->setTrustworthiness($row[0][0], $row[0][1]);
}
// The 4 axis contins information pertaining to child satefy
if (isset($row[4])) {
$website->setChildSafety($row[4][0], $row[4][1]);
}
// NOTE: the axes in indexes 1 and 2 are deprecated.
// If any categories are specified, set them
if (isset($row['categories'])) {
$website->setCategories($row['categories']);
}
// If provided, set the blacklist information; we'll discard the timestamp information
if (isset($row['blacklists'])) {
$website->setBlacklists(array_keys($row['blacklists']));
}
// Add the website
$websites[$key] = $website;
}
return $websites;
}
示例4: fromCommand
/**
* {@inheritdoc}
*/
public static function fromCommand(OperationCommand $command)
{
$data = $command->getResponse()->json();
$brandAddress = self::hydrateModelProperties(new Address(), $data['agentBrand']['address']);
$brand = self::hydrateModelProperties(new Brand(), $data['agentBrand'], array(), array('address' => $brandAddress));
$address = self::hydrateModelProperties(new Address(), $data['address']);
return self::hydrateModelProperties(new self(), $data, array(), array('address' => $address, 'agentBrand' => $brand));
}
示例5: testAlreadyOverriddenUserAgent
public function testAlreadyOverriddenUserAgent()
{
$_SERVER['HTTP_USER_AGENT'] = 'Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14';
$command = new OperationCommand();
$command->set('ua', 'some_value');
$this->dispatchCommand($command);
$this->assertSame('some_value', $command->get('ua'));
}
示例6: fromCommand
/**
* {@inheritdoc}
*/
public static function fromCommand(OperationCommand $command)
{
$activities = new Collection();
foreach ($command->getResponse()->json() as $key => $activity) {
$activities->add($key, self::hydrateModelProperties(new self(), $activity));
}
return $activities;
}
示例7: fromCommand
/**
* {@inheritdoc}
*/
public static function fromCommand(OperationCommand $command)
{
$items = new Collection();
foreach ($command->getResponse()->json() as $key => $item) {
$items[$key] = self::hydrateModelProperties(new self(), $item, array('address1' => 'addressLineOne', 'address2' => 'addressLineTwo', 'address3' => 'addressLineThree', 'address4' => 'addressLineFour', 'address5' => 'addressLineFive'));
}
return $items;
}
示例8: fromCommand
public static function fromCommand(OperationCommand $command)
{
$xml = $command->getResponse()->xml();
if (!isset($xml->AuthInfo)) {
throw new AuthenticationException((string) $xml, $xml->attributes()['errorcode']);
}
$authToken = (string) $xml->AuthInfo->attributes()['authToken'];
return $authToken;
}
示例9: testAddsContentTypeWhenExpectsIsSetOnCommand
public function testAddsContentTypeWhenExpectsIsSetOnCommand()
{
$op = new OperationCommand(array(), new Operation());
$op['command.expects'] = 'application/json';
$op->setClient(new Client());
$request = $op->prepare();
$request->setResponse(new Response(200, null, '{"Baz":"Bar"}'), true);
$this->assertEquals(array('Baz' => 'Bar'), $op->execute());
}
示例10: fromCommand
/**
* Create a response model object from a completed command.
*
* @param OperationCommand $command That serialized the request
* @return \Illuminate\Support\Collection
*/
public static function fromCommand(OperationCommand $command)
{
// Initialize the collection
$collection = new self($command->getResponse()->json());
// Set the Usergrid API client on the collection
$collection->setApiClient($command->getClient()->getApiClient());
// Return the collection
return $collection;
}
示例11: fromCommand
public static function fromCommand(OperationCommand $command)
{
$response = $command->getResponse();
$info = $response->getInfo();
if ($info['content_type'] === 'image/png' || $info['content_type'] === 'image/jpg') {
return new static(['logo' => $info['url']]);
}
throw new BadResponseException('Content type invalid. API returned ' . $info['content_type']);
}
示例12: testCastPrimitivesToArrays
/**
* @covers Desk\Command\PreValidator::castPrimitivesToArrays
* @dataProvider dataCastPrimitivesToArrays
*
* @param array $param Parameter description/structure
* @param mixed $value Input value for the parameter
* @param mixed $expected Expected output value
*/
public function testCastPrimitivesToArrays(array $param, $value, $expected)
{
$command = new OperationCommand(array('foo' => $value), new Operation(array('parameters' => array('foo' => $param))));
$command->setClient(new Client());
$event = new Event(array('command' => $command));
$preValidator = $this->mock('castPrimitivesToArrays');
$preValidator->castPrimitivesToArrays($event);
$this->assertSame($expected, $command->get('foo'));
}
示例13: testAllowsRawResponses
public function testAllowsRawResponses()
{
$description = new ServiceDescription(array('operations' => array('foo' => array('responseClass' => 'bar', 'responseType' => 'model')), 'models' => array('bar' => array())));
$op = new OperationCommand(array(OperationCommand::RESPONSE_PROCESSING => OperationCommand::TYPE_RAW), $description->getOperation('foo'));
$op->setClient(new Client());
$request = $op->prepare();
$response = new Response(200, array('Content-Type' => 'application/xml'), '<Foo><Baz>Bar</Baz></Foo>');
$request->setResponse($response, true);
$this->assertSame($response, $op->execute());
}
示例14: testSkipsUnkownModels
public function testSkipsUnkownModels()
{
$parser = new OperationResponseParser();
$operation = $this->getDescription()->getOperation('test');
$operation->setResponseClass('Baz')->setResponseType('model');
$op = new OperationCommand(array(), $operation);
$op->setResponseParser($parser)->setClient(new Client());
$op->prepare()->setResponse(new Response(201), true);
$this->assertInstanceOf('Guzzle\\Http\\Message\\Response', $op->execute());
}
示例15: fromCommand
/**
* Create a response model object from a completed command
*
* @param OperationCommand $command That serialized the request
*
* @return CurrencyCollection
*/
public static function fromCommand(OperationCommand $command)
{
$response = $command->getResponse();
$json = $response->json();
$currencies = array();
foreach ($json as $currency) {
$currencies[] = new Currency($currency['code'], $currency['name'], $currency['rate']);
}
return new self($currencies);
}