ActivityPubFetchService.php 566 B

12345678910111213141516171819202122232425262728
  1. <?php
  2. namespace App\Services;
  3. use Zttp\Zttp;
  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. 'Accept' => 'application/activity+json, application/json',
  16. 'User-Agent' => '(Pixelfed/'.config('pixelfed.version').'; +'.config('app.url').')'
  17. ]);
  18. return Zttp::withHeaders($headers)
  19. ->timeout(30)
  20. ->get($url)
  21. ->body();
  22. }
  23. }