. */ declare(strict_types=1); namespace Fisharebest\Webtrees\Http\RequestHandlers; use Fisharebest\Webtrees\Services\ServerCheckService; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Server\RequestHandlerInterface; use function response; /** * Check the server is up. */ class Ping implements RequestHandlerInterface { private ServerCheckService $server_check_service; /** * @param ServerCheckService $server_check_service */ public function __construct(ServerCheckService $server_check_service) { $this->server_check_service = $server_check_service; } /** * @param ServerRequestInterface $request * * @return ResponseInterface */ public function handle(ServerRequestInterface $request): ResponseInterface { if ($this->server_check_service->serverErrors()->isNotEmpty()) { return response('ERROR'); } if ($this->server_check_service->serverWarnings()->isNotEmpty()) { return response('WARNING'); } return response('OK'); } }