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; }
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; }