subjectReader = $subjectReader; $this->clientFactory = $clientFactory; $this->logger = $logger; $this->coreHelper = $coreHelper; $this->adapter = $adapter; } /** * @inheritdoc */ public function placeRequest(TransferInterface $transferObject) { $data = $transferObject->getBody(); $log = [ 'request' => $transferObject->getBody(), 'client' => static::class ]; $response = []; try { $response = $this->process($data); } catch (\Exception $e) { $message = $e->getMessage() ? $e->getMessage() : "Something went wrong during Gateway request."; $log['error'] = $message; $this->logger->debug($log); } return $response; } /** * Process http request * * @param array $data */ abstract protected function process(array $data); }