-<?php
-
-namespace BookStack\Uploads;
-
-use BookStack\Exceptions\HttpFetchException;
-
-class HttpFetcher
-{
- /**
- * Fetch content from an external URI.
- *
- * @param string $uri
- *
- * @throws HttpFetchException
- *
- * @return bool|string
- */
- public function fetch(string $uri)
- {
- $ch = curl_init();
- curl_setopt_array($ch, [
- CURLOPT_URL => $uri,
- CURLOPT_RETURNTRANSFER => 1,
- CURLOPT_CONNECTTIMEOUT => 5,
- ]);
-
- $data = curl_exec($ch);
- $err = curl_error($ch);
- curl_close($ch);
-
- if ($err) {
- $errno = curl_errno($ch);
- throw new HttpFetchException($err, $errno);
- }
-
- return $data;
- }
-}