diff --git a/app/MetadataResolver/MelonbooksResolver.php b/app/MetadataResolver/MelonbooksResolver.php new file mode 100644 index 0000000..dd1e0b2 --- /dev/null +++ b/app/MetadataResolver/MelonbooksResolver.php @@ -0,0 +1,22 @@ + '1'], 'www.melonbooks.co.jp'); + + $client = new \GuzzleHttp\Client(); + $res = $client->get($url, ['cookies' => $cookieJar]); + if ($res->getStatusCode() === 200) { + $ogpResolver = new OGPResolver(); + return $ogpResolver->parse($res->getBody()); + } else { + throw new \RuntimeException("{$res->getStatusCode()}: $url"); + } + } +} \ No newline at end of file diff --git a/app/MetadataResolver/MetadataResolver.php b/app/MetadataResolver/MetadataResolver.php index 1a19f3a..fdb7061 100644 --- a/app/MetadataResolver/MetadataResolver.php +++ b/app/MetadataResolver/MetadataResolver.php @@ -8,6 +8,8 @@ class MetadataResolver implements Resolver '~(((sp\.)?seiga\.nicovideo\.jp/seiga(/#!)?|nico\.ms))/im~' => NicoSeigaResolver::class, '~nijie\.info/view\.php~' => NijieResolver::class, '~komiflo\.com(/#!)?/comics/(\\d+)~' => KomifloResolver::class, + '~www\.melonbooks\.co\.jp/detail/detail\.php~' => MelonbooksResolver::class, + '~ec\.toranoana\.jp/tora_r/ec/item/.*~' => ToranoanaResolver::class, '/.*/' => OGPResolver::class ]; diff --git a/app/MetadataResolver/ToranoanaResolver.php b/app/MetadataResolver/ToranoanaResolver.php new file mode 100644 index 0000000..84911e8 --- /dev/null +++ b/app/MetadataResolver/ToranoanaResolver.php @@ -0,0 +1,22 @@ + '0'], 'ec.toranoana.jp'); + + $client = new \GuzzleHttp\Client(); + $res = $client->get($url, ['cookies' => $cookieJar]); + if ($res->getStatusCode() === 200) { + $ogpResolver = new OGPResolver(); + return $ogpResolver->parse($res->getBody()); + } else { + throw new \RuntimeException("{$res->getStatusCode()}: $url"); + } + } +} \ No newline at end of file