public function sendRequest() { // new Request $request = new Request($this->requestType, $this->resource, $this->host); // add headers $request->addHeaders($this->headers); // add body $request->setContent($this->body); // prepare client $response = new Response(); $curl = new Curl(); $curl->send($request, $response); $this->request = $request; $this->response = $response; }
/** * @param Request $curlRequest * @param ConfigurationInterface $configuration */ private function addHeaders(Request $curlRequest, ConfigurationInterface $configuration) { $authorization = sprintf('Basic %s', base64_encode(sprintf('%s:%s', $configuration->getCredentials()->getMerchantPosId(), $configuration->getCredentials()->getPrivateKey()))); $curlRequest->addHeaders(['Authorization' => $authorization, 'Content-Type' => self::CONTENT_TYPE, 'Accept' => self::CONTENT_TYPE]); }
/** * @return HttpRequest */ public function createHttpRequest($method, $uri, $contentType = '', $acceptType = '') { $headers = array_merge($method === 'POST' && $uri === '/api/ezp/v2/user/sessions' ? [] : $this->headers, ['Content-Type: ' . $this->generateMediaTypeString($contentType), 'Accept: ' . $this->generateMediaTypeString($acceptType)]); switch ($method) { case 'PUBLISH': $method = 'POST'; $headers[] = 'X-HTTP-Method-Override: PUBLISH'; break; case 'MOVE': $method = 'POST'; $headers[] = 'X-HTTP-Method-Override: MOVE'; break; case 'PATCH': $method = 'PATCH'; $headers[] = 'X-HTTP-Method-Override: PATCH'; break; case 'COPY': $method = 'POST'; $headers[] = 'X-HTTP-Method-Override: COPY'; break; } $request = new HttpRequest($method, $uri, $this->httpHost); $request->addHeaders($headers); return $request; }