/** * * @param RequestEnvelope $requestEnvelope * @return ConnectorResponse * @throws Exception */ public function sendRequest(RequestEnvelope $requestEnvelope) { $url = $this->getEndpoint() . $requestEnvelope->getResource(); $request = new Request($requestEnvelope->getMethod(), $url, $requestEnvelope->getHeaders(), $requestEnvelope->getData()); try { $curlClient = new CurlClient($this->curlOptions); $response = $curlClient->process($request); } catch (Exception $ex) { throw new Exception($ex->getMessage(), $ex->getCode(), $ex->getPrevious()); } $responseCode = $response->getCode(); $rawResponseData = $response->getBody(); $responseHeaders = $response->getHeaders(); $connectorResponse = new ConnectorResponse($responseCode, $rawResponseData, $responseHeaders); return $connectorResponse; }
/** * * @param RequestEnvelope $requestEnvelope * @return RequestEnvelope */ private function attachBasicHeadersToRequest(RequestEnvelope $requestEnvelope) { $requestEnvelope->setAppIdHeader($this->appId); $requestEnvelope->setAppVersionHeader($this->appVersion); $requestEnvelope->setContentTypeHeader(Header::FORMAT_APPLICATION_JSON); $requestEnvelope->setAcceptHeader(Header::FORMAT_APPLICATION_JSON); return $requestEnvelope; }