diff --git a/app/Http/Controllers/Api/CardController.php b/app/Http/Controllers/Api/CardController.php
index f8de0b3..87eb52d 100644
--- a/app/Http/Controllers/Api/CardController.php
+++ b/app/Http/Controllers/Api/CardController.php
@@ -2,7 +2,6 @@
namespace App\Http\Controllers\Api;
-
use App\Metadata;
use App\MetadataResolver\MetadataResolver;
use App\Utilities\Formatter;
diff --git a/app/Http/Middleware/TrustProxies.php b/app/Http/Middleware/TrustProxies.php
index 39d1770..9e84a36 100644
--- a/app/Http/Middleware/TrustProxies.php
+++ b/app/Http/Middleware/TrustProxies.php
@@ -2,8 +2,8 @@
namespace App\Http\Middleware;
-use Illuminate\Http\Request;
use Fideloper\Proxy\TrustProxies as Middleware;
+use Illuminate\Http\Request;
class TrustProxies extends Middleware
{
diff --git a/app/MetadataResolver/ActivityPubResolver.php b/app/MetadataResolver/ActivityPubResolver.php
index 981cf9d..06328cb 100644
--- a/app/MetadataResolver/ActivityPubResolver.php
+++ b/app/MetadataResolver/ActivityPubResolver.php
@@ -2,9 +2,9 @@
namespace App\MetadataResolver;
-use Psr\Http\Message\ResponseInterface;
use GuzzleHttp\Exception\TransferException;
use Illuminate\Support\Facades\Log;
+use Psr\Http\Message\ResponseInterface;
class ActivityPubResolver implements Resolver, Parser
{
@@ -40,7 +40,7 @@ class ActivityPubResolver implements Resolver, Parser
$metadata = new Metadata();
$metadata->title = isset($object['attributedTo']) ? $this->getTitleFromActor($object['attributedTo']) : '';
- $metadata->description .= isset($object['summary']) ? $object['summary'] . " | " : '';
+ $metadata->description .= isset($object['summary']) ? $object['summary'] . ' | ' : '';
$metadata->description .= isset($object['content']) ? $this->html2text($object['content']) : '';
$metadata->image = $object['attachment'][0]['url'] ?? '';
@@ -53,6 +53,7 @@ class ActivityPubResolver implements Resolver, Parser
$res = $this->activityClient->get($url);
if ($res->getStatusCode() !== 200) {
Log::info(self::class . ': Actorの取得に失敗 URL=' . $url);
+
return '';
}
@@ -65,6 +66,7 @@ class ActivityPubResolver implements Resolver, Parser
return $title;
} catch (TransferException $e) {
Log::info(self::class . ': Actorの取得に失敗 URL=' . $url);
+
return '';
}
}
@@ -75,6 +77,7 @@ class ActivityPubResolver implements Resolver, Parser
$html = preg_replace('~
|
]*>~i', "\n", $html); $dom = new \DOMDocument(); $dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD); + return $dom->textContent; } } diff --git a/app/MetadataResolver/FantiaResolver.php b/app/MetadataResolver/FantiaResolver.php index 63af366..4dec4c1 100644 --- a/app/MetadataResolver/FantiaResolver.php +++ b/app/MetadataResolver/FantiaResolver.php @@ -21,6 +21,7 @@ class FantiaResolver implements Resolver $this->client = $client; $this->ogpResolver = $ogpResolver; } + public function resolve(string $url): Metadata { preg_match("~\d+~", $url, $match); diff --git a/app/MetadataResolver/MetadataResolver.php b/app/MetadataResolver/MetadataResolver.php index ace71c2..5bf195f 100644 --- a/app/MetadataResolver/MetadataResolver.php +++ b/app/MetadataResolver/MetadataResolver.php @@ -53,6 +53,7 @@ class MetadataResolver implements Resolver if (isset($this->defaultResolver)) { /** @var Resolver $resolver */ $resolver = app($this->defaultResolver); + return $resolver->resolve($url); } diff --git a/app/MetadataResolver/Parser.php b/app/MetadataResolver/Parser.php index f9effde..75cccb3 100644 --- a/app/MetadataResolver/Parser.php +++ b/app/MetadataResolver/Parser.php @@ -5,4 +5,4 @@ namespace App\MetadataResolver; interface Parser { public function parse(string $body): Metadata; -} \ No newline at end of file +} diff --git a/app/MetadataResolver/ToranoanaResolver.php b/app/MetadataResolver/ToranoanaResolver.php index 27b900e..34559fe 100644 --- a/app/MetadataResolver/ToranoanaResolver.php +++ b/app/MetadataResolver/ToranoanaResolver.php @@ -28,7 +28,6 @@ class ToranoanaResolver implements Resolver $res = $this->client->get($url, ['cookies' => $cookieJar]); if ($res->getStatusCode() === 200) { - return $this->ogpResolver->parse($res->getBody()); } else { throw new \RuntimeException("{$res->getStatusCode()}: $url"); diff --git a/database/migrations/2019_02_06_235832_add_bio_and_url_to_users.php b/database/migrations/2019_02_06_235832_add_bio_and_url_to_users.php index d8988d4..251a379 100644 --- a/database/migrations/2019_02_06_235832_add_bio_and_url_to_users.php +++ b/database/migrations/2019_02_06_235832_add_bio_and_url_to_users.php @@ -1,8 +1,8 @@ handler = new MockHandler([$mockResponse]); $client = new Client(['handler' => $this->handler]); $this->resolver = app()->make($resolverClass, ['client' => $client]); + return $this->resolver; }