diff options
Diffstat (limited to 'server/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/Curl.php')
| -rw-r--r-- | server/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/Curl.php | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/server/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/Curl.php b/server/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/Curl.php deleted file mode 100644 index cd8414f..0000000 --- a/server/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/Curl.php +++ /dev/null @@ -1,79 +0,0 @@ -<?php - -/* - * This file is part of the JsonSchema package. - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace JsonSchema\Uri\Retrievers; - -use JsonSchema\Validator; - -/** - * Tries to retrieve JSON schemas from a URI using cURL library - * - * @author Sander Coolen <sander@jibber.nl> - */ -class Curl extends AbstractRetriever -{ - protected $messageBody; - - public function __construct() - { - if (!function_exists('curl_init')) { - throw new \RuntimeException("cURL not installed"); - } - } - - /** - * {@inheritDoc} - * @see \JsonSchema\Uri\Retrievers\UriRetrieverInterface::retrieve() - */ - public function retrieve($uri) - { - $ch = curl_init(); - - curl_setopt($ch, CURLOPT_URL, $uri); - curl_setopt($ch, CURLOPT_HEADER, true); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: ' . Validator::SCHEMA_MEDIA_TYPE)); - - $response = curl_exec($ch); - if (false === $response) { - throw new \JsonSchema\Exception\ResourceNotFoundException('JSON schema not found'); - } - - $this->fetchMessageBody($response); - $this->fetchContentType($response); - - curl_close($ch); - - return $this->messageBody; - } - - /** - * @param string $response cURL HTTP response - */ - private function fetchMessageBody($response) - { - preg_match("/(?:\r\n){2}(.*)$/ms", $response, $match); - $this->messageBody = $match[1]; - } - - /** - * @param string $response cURL HTTP response - * @return boolean Whether the Content-Type header was found or not - */ - protected function fetchContentType($response) - { - if (0 < preg_match("/Content-Type:(\V*)/ims", $response, $match)) { - $this->contentType = trim($match[1]); - - return true; - } - - return false; - } -}
\ No newline at end of file |
