summaryrefslogtreecommitdiff
path: root/vendor/OAuth/Common/Http/Client/CurlClient.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/OAuth/Common/Http/Client/CurlClient.php')
-rwxr-xr-xvendor/OAuth/Common/Http/Client/CurlClient.php142
1 files changed, 0 insertions, 142 deletions
diff --git a/vendor/OAuth/Common/Http/Client/CurlClient.php b/vendor/OAuth/Common/Http/Client/CurlClient.php
deleted file mode 100755
index eae1be3e..00000000
--- a/vendor/OAuth/Common/Http/Client/CurlClient.php
+++ /dev/null
@@ -1,142 +0,0 @@
-<?php
-
-namespace OAuth\Common\Http\Client;
-
-use OAuth\Common\Http\Exception\TokenResponseException;
-use OAuth\Common\Http\Uri\UriInterface;
-
-/**
- * Client implementation for cURL
- */
-class CurlClient extends AbstractClient
-{
- /**
- * If true, explicitly sets cURL to use SSL version 3. Use this if cURL
- * compiles with GnuTLS SSL.
- *
- * @var bool
- */
- private $forceSSL3 = false;
-
- /**
- * Additional parameters (as `key => value` pairs) to be passed to `curl_setopt`
- *
- * @var array
- */
- private $parameters = array();
-
- /**
- * Additional `curl_setopt` parameters
- *
- * @param array $parameters
- */
- public function setCurlParameters(array $parameters)
- {
- $this->parameters = $parameters;
- }
-
- /**
- * @param bool $force
- *
- * @return CurlClient
- */
- public function setForceSSL3($force)
- {
- $this->forceSSL3 = $force;
-
- return $this;
- }
-
- /**
- * Any implementing HTTP providers should send a request to the provided endpoint with the parameters.
- * They should return, in string form, the response body and throw an exception on error.
- *
- * @param UriInterface $endpoint
- * @param mixed $requestBody
- * @param array $extraHeaders
- * @param string $method
- *
- * @return string
- *
- * @throws TokenResponseException
- * @throws \InvalidArgumentException
- */
- public function retrieveResponse(
- UriInterface $endpoint,
- $requestBody,
- array $extraHeaders = array(),
- $method = 'POST'
- ) {
- // Normalize method name
- $method = strtoupper($method);
-
- $this->normalizeHeaders($extraHeaders);
-
- if ($method === 'GET' && !empty($requestBody)) {
- throw new \InvalidArgumentException('No body expected for "GET" request.');
- }
-
- if (!isset($extraHeaders['Content-Type']) && $method === 'POST' && is_array($requestBody)) {
- $extraHeaders['Content-Type'] = 'Content-Type: application/x-www-form-urlencoded';
- }
-
- $extraHeaders['Host'] = 'Host: '.$endpoint->getHost();
- $extraHeaders['Connection'] = 'Connection: close';
-
- $ch = curl_init();
-
- curl_setopt($ch, CURLOPT_URL, $endpoint->getAbsoluteUri());
-
- if ($method === 'POST' || $method === 'PUT') {
- if ($requestBody && is_array($requestBody)) {
- $requestBody = http_build_query($requestBody, '', '&');
- }
-
- if ($method === 'PUT') {
- curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
- } else {
- curl_setopt($ch, CURLOPT_POST, true);
- }
-
- curl_setopt($ch, CURLOPT_POSTFIELDS, $requestBody);
- } else {
- curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
- }
-
- if ($this->maxRedirects > 0) {
- curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
- curl_setopt($ch, CURLOPT_MAXREDIRS, $this->maxRedirects);
- }
-
- curl_setopt($ch, CURLOPT_TIMEOUT, $this->timeout);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_HEADER, false);
- curl_setopt($ch, CURLOPT_HTTPHEADER, $extraHeaders);
- curl_setopt($ch, CURLOPT_USERAGENT, $this->userAgent);
-
- foreach ($this->parameters as $key => $value) {
- curl_setopt($ch, $key, $value);
- }
-
- if ($this->forceSSL3) {
- curl_setopt($ch, CURLOPT_SSLVERSION, 3);
- }
-
- $response = curl_exec($ch);
- $responseCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
-
- if (false === $response) {
- $errNo = curl_errno($ch);
- $errStr = curl_error($ch);
- curl_close($ch);
- if (empty($errStr)) {
- throw new TokenResponseException('Failed to request resource.', $responseCode);
- }
- throw new TokenResponseException('cURL Error # '.$errNo.': '.$errStr, $responseCode);
- }
-
- curl_close($ch);
-
- return $response;
- }
-}