From c47fbe2d66e1be56b95b09e81e7bec7ec81347dc Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Thu, 6 Feb 2020 01:40:12 -0700 Subject: [PATCH] Add WebfingerService --- app/Services/WebfingerService.php | 40 +++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 app/Services/WebfingerService.php diff --git a/app/Services/WebfingerService.php b/app/Services/WebfingerService.php new file mode 100644 index 000000000..49628a5f2 --- /dev/null +++ b/app/Services/WebfingerService.php @@ -0,0 +1,40 @@ +run($query); + } + + protected function run($query) + { + $url = WebfingerUrl::generateWebfingerUrl($query); + if(!Helpers::validateUrl($url)) { + return []; + } + $res = Zttp::get($url); + $webfinger = $res->json(); + if(!isset($webfinger['links'])) { + return []; + } + $profile = Helpers::profileFetch($webfinger['links'][0]['href']); + $fractal = new Fractal\Manager(); + $fractal->setSerializer(new ArraySerializer()); + $resource = new Fractal\Resource\Item($profile, new AccountTransformer()); + $res = $fractal->createData($resource)->toArray(); + return $res; + } +} \ No newline at end of file