Exemplo n.º 1
0
 /**
  * @param RequestInterface $request
  * @return ResponseInterface
  * @throws InvalidArgumentException
  */
 public function sendRequest(RequestInterface $request)
 {
     foreach ($request->getHeaders() as $name => $value) {
         $this->curlClient->setHeader($name, $value);
     }
     switch ($request->getMethod()) {
         case RequestInterface::METHOD_POST:
             $this->curlClient->post($request->getUrl(), $request->getBody());
             break;
         default:
             throw new InvalidArgumentException('Unsupported http request method ' . $request->getMethod(), 0, null, null, null);
     }
     if ($this->curlClient->curl_error === true) {
         throw new HttpClientException($this->curlClient->curl_error_message);
     }
     $response = new Response((int) $this->curlClient->http_status_code, $this->curlClient->raw_response);
     return $response;
 }
 /**
  * @param RequestInterface $request
  * @param array $bodyParams
  * @throws \Exception
  */
 protected function setClientAuthenticationData(RequestInterface $request, array &$bodyParams)
 {
     switch ($this->getConfig()->getClientAuthenticationType()) {
         case AuthenticationType::REQUEST_BODY:
             $bodyParams['client_id'] = $this->getConfig()->getClientId();
             if ($this->config->getClientType() === ClientType::CONFIDENTIAL_TYPE) {
                 $bodyParams['client_secret'] = $this->getConfig()->getClientSecret();
             }
             break;
         case AuthenticationType::HTTP_BASIC:
             $request->addHeader('Authorization', $this->getBasicAuth());
             break;
         default:
             throw new \Exception('Unrecognized client authentication type.');
     }
 }