diff --git a/app/MetadataResolver/FanzaResolver.php b/app/MetadataResolver/FanzaResolver.php new file mode 100644 index 0000000..4f4941d --- /dev/null +++ b/app/MetadataResolver/FanzaResolver.php @@ -0,0 +1,21 @@ +get($url); + if ($res->getStatusCode() === 200) { + $ogpResolver = new OGPResolver(); + $metadata = $ogpResolver->parse($res->getBody()); + $metadata->image = preg_replace("~(pr|ps)\.jpg$~", "pl.jpg", $metadata->image); + + return $metadata; + } else { + throw new \RuntimeException("{$res->getStatusCode()}: $url"); + } + } +} diff --git a/app/MetadataResolver/MetadataResolver.php b/app/MetadataResolver/MetadataResolver.php index f1f43ed..3074f61 100644 --- a/app/MetadataResolver/MetadataResolver.php +++ b/app/MetadataResolver/MetadataResolver.php @@ -14,6 +14,7 @@ class MetadataResolver implements Resolver '~www\.dlsite\.com/.*/work/=/product_id/..\d+\.html~' => DLsiteResolver::class, '~www\.pixiv\.net/member_illust\.php\?illust_id=\d+~' => PixivResolver::class, '~fantia\.jp/posts/\d+~' => FantiaResolver::class, + '~dmm\.co\.jp/~' => FanzaResolver::class, '/.*/' => OGPResolver::class ];