public function match(Resource $resource) { if (!$resource->getResponse()->isContentType($this->allowedMimeType)) { $mime = $resource->getResponse()->getContentType(); $resource->setFiltered(true, "Mime type '{$mime}' not allowed"); return true; } return false; }
/** * @covers VDB\Spider\Resource::setFiltered * @covers VDB\Spider\Resource::isFiltered * @covers VDB\Spider\Resource::getFilterReason */ public function testSetFiltered() { $this->resource->setFiltered(true, 'goodReason'); $this->assertTrue($this->resource->isFiltered()); $this->assertEquals('goodReason', $this->resource->getFilterReason()); }
/** * Add a Resource to the processing queue * * @param Resource $resource * @return void */ protected function addToProcessQueue(Resource $resource) { if ($this->maxQueueSize != 0 && $this->currentQueueSize >= $this->maxQueueSize) { $resource->setFiltered(true, 'Maximum Queue Size of ' . $this->maxQueueSize . ' reached'); $this->getStatsHandler()->addToFiltered($resource); throw new QueueException('Maximum Queue Size of ' . $this->maxQueueSize . ' reached'); } $this->currentQueueSize++; $this->getPersistenceHandler()->persist($resource); $this->getStatsHandler()->addToQueued($resource->getUri()); }