/** * Executa a chamada http. * * @param Request $request Objeto com a requisição * * @return Response Objeto com a resposta da requisição */ protected function exec(Request $request) { try { $data = $request->exec(); $response = new Response($data); $response->setLogger($this->getLogger()); $response->validate(); $this->debug('Client Execution', ['request' => $request->toLog(), 'response' => $response->toLog()]); return $response; } catch (RequestException $e) { $this->error('Execucao fracassada', ['exception' => $e->toLog(), 'request' => $request->toLog()]); throw $e; } }