allow non-https

Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
pull/526/head
Maxence Lange 2019-05-17 13:20:02 -01:00
rodzic 5e833df290
commit 77af4db6b4
4 zmienionych plików z 16 dodań i 3 usunięć

Wyświetl plik

@ -137,6 +137,13 @@ class InstancePath implements JsonSerializable {
}
public function getProtocol(): string {
$info = parse_url($this->getUri());
return $this->get('scheme', $info, '');
}
/**
* @return string
*/

Wyświetl plik

@ -398,6 +398,7 @@ class ActivityService {
$request->setTimeout($queue->getTimeout());
$request->setDataJson($queue->getActivity());
$request->setAddress($path->getAddress());
$request->setProtocol($path->getProtocol());
return $request;
}

Wyświetl plik

@ -196,9 +196,10 @@ class CacheDocumentService {
*/
public function retrieveContent(string $url) {
$url = parse_url($url);
$this->mustContains(['path', 'host'], $url);
$this->mustContains(['path', 'host', 'scheme'], $url);
$request = new Request($url['path'], Request::TYPE_GET, true);
$request->setAddress($url['host']);
$request->setProtocol($url['scheme']);
$content = $this->curlService->request($request);

Wyświetl plik

@ -114,6 +114,7 @@ class CurlService {
$request = new Request('/.well-known/webfinger');
$request->addData('resource', 'acct:' . $account);
$request->setAddress($host);
$result = $this->request($request);
return $result;
@ -177,9 +178,10 @@ class CurlService {
public function retrieveObject($id): array {
$url = parse_url($id);
$this->mustContains(['path', 'host'], $url);
$this->mustContains(['path', 'host', 'scheme'], $url);
$request = new Request($url['path'], Request::TYPE_GET);
$request->setAddress($url['host']);
$request->setProtocol($url['scheme']);
$result = $this->request($request);
if (is_array($result)) {
@ -261,6 +263,8 @@ class CurlService {
$request = new Request($path, Request::TYPE_POST);
$request->setAddress($host);
$request->setProtocol($this->get('scheme', $parse, 'https'));
try {
$this->request($request);
} catch (Exception $e) {
@ -329,7 +333,7 @@ class CurlService {
* @return resource
*/
private function generateCurlRequest(Request $request) {
$url = 'https://' . $request->getAddress() . $request->getParsedUrl();
$url = $request->getProtocol() . '://' . $request->getAddress() . $request->getParsedUrl();
if ($request->getType() !== Request::TYPE_GET) {
$curl = curl_init($url);
} else {