ActivityPubFetchService.php 598 B

123456789101112131415161718192021222324252627
  1. <?php
  2. namespace App\Services;
  3. use Illuminate\Support\Facades\Http;
  4. use App\Profile;
  5. use App\Util\ActivityPub\Helpers;
  6. use App\Util\ActivityPub\HttpSignature;
  7. class ActivityPubFetchService
  8. {
  9. public static function get($url)
  10. {
  11. if(!Helpers::validateUrl($url)) {
  12. return 0;
  13. }
  14. $headers = HttpSignature::instanceActorSign($url, false);
  15. $headers['Accept'] = 'application/activity+json, application/json';
  16. $headers['User-Agent'] = '(Pixelfed/'.config('pixelfed.version').'; +'.config('app.url').')';
  17. return Http::withHeaders($headers)
  18. ->timeout(30)
  19. ->get($url)
  20. ->body();
  21. }
  22. }