Files
emails/api/common/Middleware/Logging.php

26 lines
861 B
PHP
Raw Normal View History

2022-12-01 14:15:54 -03:00
<?php
namespace ProVM\Common\Middleware;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Psr\Log\LoggerInterface;
2023-06-08 20:49:27 -04:00
use function Safe\json_encode;
2022-12-01 14:15:54 -03:00
class Logging
{
2023-06-08 20:49:27 -04:00
public function __construct(protected LoggerInterface $logger) {}
2022-12-01 14:15:54 -03:00
public function __invoke(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$response = $handler->handle($request);
$output = [
'uri' => var_export($request->getUri(), true),
2023-06-08 20:49:27 -04:00
'body' => $request->getBody()->getContents(),
'response' => (clone $response)->getBody()->getContents()
2022-12-01 14:15:54 -03:00
];
2023-06-08 20:49:27 -04:00
$this->logger->info(json_encode($output, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE));
2022-12-01 14:15:54 -03:00
return $response;
}
}