28 lines
811 B
PHP
28 lines
811 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Middleware;
|
|
|
|
use Psr\Http\Message\ResponseInterface as Response;
|
|
use Psr\Http\Message\ServerRequestInterface as Request;
|
|
use Psr\Http\Server\MiddlewareInterface as Middleware;
|
|
use Psr\Http\Server\RequestHandlerInterface as RequestHandler;
|
|
|
|
class JsonResponseMiddleware implements Middleware
|
|
{
|
|
public function process(Request $request, RequestHandler $handler): Response
|
|
{
|
|
$response = $handler->handle($request);
|
|
|
|
// Add JSON content type for API routes
|
|
if (strpos($request->getUri()->getPath(), '/api/') === 0) {
|
|
if (!$response->hasHeader('Content-Type')) {
|
|
$response = $response->withHeader('Content-Type', 'application/json');
|
|
}
|
|
}
|
|
|
|
return $response;
|
|
}
|
|
}
|