22 lines
718 B
PHP
22 lines
718 B
PHP
|
|
<?php
|
||
|
|
declare(strict_types=1);
|
||
|
|
|
||
|
|
namespace Phred\Http\Middleware;
|
||
|
|
|
||
|
|
use Psr\Http\Message\ResponseInterface;
|
||
|
|
use Psr\Http\Message\ServerRequestInterface;
|
||
|
|
use Psr\Http\Server\MiddlewareInterface;
|
||
|
|
use Psr\Http\Server\RequestHandlerInterface;
|
||
|
|
|
||
|
|
abstract class Middleware implements MiddlewareInterface
|
||
|
|
{
|
||
|
|
abstract public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface;
|
||
|
|
|
||
|
|
protected function json(array $data, int $status = 200): ResponseInterface
|
||
|
|
{
|
||
|
|
$response = new \Nyholm\Psr7\Response($status, ['Content-Type' => 'application/json']);
|
||
|
|
$response->getBody()->write(json_encode($data, JSON_UNESCAPED_SLASHES));
|
||
|
|
return $response;
|
||
|
|
}
|
||
|
|
}
|