More refactoring of the initial webmention processing job

This commit is contained in:
Jonny Barnes 2016-09-17 20:50:56 +01:00
parent 769d2aabd4
commit fb81b37f4d

View file

@ -20,7 +20,6 @@ class ProcessWebMention extends Job implements ShouldQueue
protected $note; protected $note;
protected $source; protected $source;
protected $guzzle;
/** /**
* Create a new job instance. * Create a new job instance.
@ -29,22 +28,22 @@ class ProcessWebMention extends Job implements ShouldQueue
* @param string $source * @param string $source
* @return void * @return void
*/ */
public function __construct(Note $note, $source, Client $guzzle = null) public function __construct(Note $note, $source)
{ {
$this->note = $note; $this->note = $note;
$this->source = $source; $this->source = $source;
$this->guzzle = $guzzle ?? new Client();
} }
/** /**
* Execute the job. * Execute the job.
* *
* @param \Jonnybarnes\WebmentionsParser\Parser $parser * @param \Jonnybarnes\WebmentionsParser\Parser $parser
* @param \GuzzleHttp\Client $guzzle
* @return void * @return void
*/ */
public function handle(Parser $parser) public function handle(Parser $parser, Client $guzzle)
{ {
$remoteContent = $this->getRemoteContent($this->source); $remoteContent = $this->getRemoteContent($this->source, $guzzle);
if ($remoteContent === null) { if ($remoteContent === null) {
throw new RemoteContentNotFoundException; throw new RemoteContentNotFoundException;
} }
@ -101,13 +100,14 @@ class ProcessWebMention extends Job implements ShouldQueue
/** /**
* Retreive the remote content from a URL, and caches the result. * Retreive the remote content from a URL, and caches the result.
* *
* @param string The URL to retreive content from * @param string $url
* @return string|null The HTML from the URL (or null if error) * @param GuzzleHttp\client $guzzle
* @return string|null
*/ */
private function getRemoteContent($url) private function getRemoteContent($url, Client $guzzle)
{ {
try { try {
$response = $this->guzzle->request('GET', $url); $response = $guzzle->request('GET', $url);
} catch (RequestException $e) { } catch (RequestException $e) {
return; return;
} }