1
0
Fork 0

Merge pull request #3900 from pixelfed/staging

Update AP helpers
This commit is contained in:
daniel 2022-12-05 00:47:53 -07:00 committed by GitHub
commit 668cae7c83
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 5 deletions

View File

@ -6,6 +6,7 @@ use Illuminate\Support\Facades\Http;
use App\Profile; use App\Profile;
use App\Util\ActivityPub\Helpers; use App\Util\ActivityPub\Helpers;
use App\Util\ActivityPub\HttpSignature; use App\Util\ActivityPub\HttpSignature;
use Illuminate\Http\Client\ConnectionException;
class ActivityPubFetchService class ActivityPubFetchService
{ {
@ -19,9 +20,18 @@ class ActivityPubFetchService
$headers['Accept'] = 'application/activity+json, application/json'; $headers['Accept'] = 'application/activity+json, application/json';
$headers['User-Agent'] = '(Pixelfed/'.config('pixelfed.version').'; +'.config('app.url').')'; $headers['User-Agent'] = '(Pixelfed/'.config('pixelfed.version').'; +'.config('app.url').')';
return Http::withHeaders($headers) try {
->timeout(30) $res = Http::withHeaders($headers)
->get($url) ->timeout(10)
->body(); ->get($url);
} catch (ConnectionException $e) {
return;
} catch (Exception $e) {
return;
}
if(!$res->ok()) {
return;
}
return $res->body();
} }
} }

View File

@ -248,10 +248,13 @@ class Helpers {
$hash = hash('sha256', $url); $hash = hash('sha256', $url);
$key = "helpers:url:fetcher:sha256-{$hash}"; $key = "helpers:url:fetcher:sha256-{$hash}";
$ttl = now()->addMinutes(5); $ttl = now()->addMinutes(15);
return Cache::remember($key, $ttl, function() use($url) { return Cache::remember($key, $ttl, function() use($url) {
$res = ActivityPubFetchService::get($url); $res = ActivityPubFetchService::get($url);
if(!$res || empty($res)) {
return false;
}
$res = json_decode($res, true, 8); $res = json_decode($res, true, 8);
if(json_last_error() == JSON_ERROR_NONE) { if(json_last_error() == JSON_ERROR_NONE) {
return $res; return $res;