Skip to content

Commit 092c6e1

Browse files
committed
Add Bandcamp provider name detector
1 parent f54abcc commit 092c6e1

File tree

3 files changed

+35
-0
lines changed

3 files changed

+35
-0
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
declare(strict_types = 1);
3+
4+
namespace Embed\Adapters\Bandcamp\Detectors;
5+
6+
use Embed\Detectors\ProviderName as Detector;
7+
8+
class ProviderName extends Detector
9+
{
10+
public function detect(): string
11+
{
12+
return 'Bandcamp';
13+
}
14+
}

src/Adapters/Bandcamp/Extractor.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php
2+
declare(strict_types = 1);
3+
4+
namespace Embed\Adapters\Bandcamp;
5+
6+
use Embed\Extractor as Base;
7+
use Embed\Http\Crawler;
8+
use Psr\Http\Message\RequestInterface;
9+
use Psr\Http\Message\ResponseInterface;
10+
use Psr\Http\Message\UriInterface;
11+
12+
class Extractor extends Base
13+
{
14+
public function __construct(UriInterface $uri, RequestInterface $request, ResponseInterface $response, Crawler $crawler)
15+
{
16+
parent::__construct($uri, $request, $response, $crawler);
17+
18+
$this->providerName = new Detectors\ProviderName($this);
19+
}
20+
}

src/ExtractorFactory.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ class ExtractorFactory
2828
'imageshack.com' => Adapters\ImageShack\Extractor::class,
2929
'youtube.com' => Adapters\Youtube\Extractor::class,
3030
'twitch.tv' => Adapters\Twitch\Extractor::class,
31+
'bandcamp.com' => Adapters\Bandcamp\Extractor::class,
3132
];
3233
private array $customDetectors = [];
3334
private array $settings;

0 commit comments

Comments
 (0)