コード例 #1
0
 public function sendRequest(HttpRequest $request, ExecutionContext $context)
 {
     $request->addHeader(HttpHeaders::USER_AGENT, $this->userAgent);
     $context->getSigner()->sign($request, $context->getCredentials());
     $response = $this->client->sendRequest($request, $context);
     foreach ($context->getResponseHandlers() as $handler) {
         $handler->handle($response);
     }
     return $response;
 }
コード例 #2
0
ファイル: Command.php プロジェクト: diandianxiyu/Yii2Api
 public function execute($clientOptions, $userOptions)
 {
     $request = null;
     $response = null;
     $result = null;
     $options = $this->checkOptions(array_merge($clientOptions, $this->commandOptions(), $userOptions));
     try {
         $context = $this->getContext($options);
         $request = $this->getRequest($options);
         $response = $this->service->sendRequest($request, $context);
         $result = $this->afterResult($this->parseResponse($response, $options), $options);
         $this->handleStream($request, $response, $options);
     } catch (\Exception $ex) {
         $this->handleStream($request, $response, $options);
         if ($ex instanceof ServiceException || $ex instanceof ClientException) {
             throw $ex;
         }
         throw new ClientException($ex->getMessage(), $ex);
     }
     return $result;
 }