Skip to content

Response Handlers

Crawlers use HTTP response handlers to evaluate crawling responses. Each response handler implements the Http\Message\Handler\ResponseHandler interface.

Method Reference

Each response handler must implement the following methods:

onSuccess

Whenever a HTTP request is successful, this method is called.

php
namespace Vendor\Http\Message\Handler;

use EliasHaeussler\CacheWarmup;
use Psr\Http\Message;

final class MyCustomHandler implements CacheWarmup\Http\Message\Handler\ResponseHandler
{
    public function onSuccess(
        Message\ResponseInterface $response,
        Message\UriInterface $uri,
    ): void {
        // ...
    }
}

onFailure

When a HTTP request fails due to an error or exception, this method is called.

php
namespace Vendor\Http\Message\Handler;

use EliasHaeussler\CacheWarmup;
use Psr\Http\Message;
use Throwable;

final class MyCustomHandler implements CacheWarmup\Http\Message\Handler\ResponseHandler
{
    public function onFailure(
        Throwable $exception,
        Message\UriInterface $uri,
    ): void {
        // ...
    }
}

Available handlers

The library already ships with a set of response handlers.

CompactProgressHandler

The Http\Message\Handler\CompactProgressHandler is used in the OutputtingCrawler if the progress configuration option is enabled and the --verbose command option is not set. It displays the cache warmup progress in a compact progress style:

Screenshot of cache warmup with compact progress handler enabled

LogHandler

When logging is enabled with the logFile configuration option, the Http\Message\Handler\LogHandler takes care of writing log file entries for each crawling response.

This handler is enabled in both default crawlers.

ResultCollectorHandler

Each cache warmup process results in an instance of Result\CacheWarmupResult. The Http\Message\Handler\ResultCollectorHandler takes care of converting each crawling response to a dedicated Result\CrawlingResult object and attaches it to the CacheWarmupResult object.

This handler is enabled in both default crawlers.

VerboseProgressHandler

The Http\Message\Handler\VerboseProgressHandler is used in the OutputtingCrawler if the progress configuration option is enabled, along with the --verbose command option. It displays the cache warmup progress in a more detailed verbose progress bar style:

Screenshot of cache warmup with verbose progress handler enabled

Released under the GNU General Public License 3.0 (or later)