codenamephp/deploymentchecks.http

1.0.0 2024-01-17 08:54 UTC

This package is auto-updated.

Last update: 2024-09-17 10:32:12 UTC


README

Packagist Version Packagist PHP Version Support Lines of code GitHub code size in bytes CI Packagist Downloads GitHub

此包提供了对http服务的简单检查。它可以检查服务是否可达以及它是否返回特定的状态代码、响应体等。

安装

最简单的方法是通过composer。只需在您的cli中运行composer require codenamephp/deploymentchecks.http,这将为您安装最新版本。

您还应明确安装codenamephp/deploymentchecks.base包,因为您几乎在所有情况下都会直接使用它。

使用

只需创建检查,将它们传递给一个集合并运行即可。

use de\codenamephp\deploymentchecks\base\Check\Collection\SequentialCheckCollection;
use de\codenamephp\deploymentchecks\base\Check\Result\Collection\ResultCollection;
use de\codenamephp\deploymentchecks\http\HttpCheckResult;
use de\codenamephp\deploymentchecks\http\RunTestsOnHttpResponse;
use de\codenamephp\deploymentchecks\http\Test\CssSelectorExists;
use de\codenamephp\deploymentchecks\http\Test\Result\HttpTestResult;
use de\codenamephp\deploymentchecks\http\Test\StatusCode;
use GuzzleHttp\Psr7\Request;

$check = new SequentialCheckCollection(new RunTestsOnHttpResponse(
  new Request('GET', 'https:///test.html'),
  'Exists',
  new StatusCode(200),
),
  new RunTestsOnHttpResponse(
    new Request('GET','https:///404.html'),
    'Does not exist',
    new StatusCode(404),
  ),
);

$result = $check->run();

exit($result instanceof WithExitCodeInterface ? $result->exitCode() : ($result->successful() ? DefaultExitCodes::SUCCESSFUL->value : DefaultExitCodes::ERROR->value));