27 lines
668 B
PHP
27 lines
668 B
PHP
<?php declare(strict_types=1);
|
|
|
|
namespace App\Http\Middleware;
|
|
|
|
use Closure;
|
|
use Illuminate\Http\Request;
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
|
|
final class DeprecationHeaders
|
|
{
|
|
public function handle(Request $request, Closure $next, ?string $sunset = null, ?string $successor = null): Response
|
|
{
|
|
$response = $next($request);
|
|
$response->headers->set('Deprecation', 'true');
|
|
|
|
if ($sunset) {
|
|
$response->headers->set('Sunset', $sunset);
|
|
}
|
|
|
|
if ($successor) {
|
|
$response->headers->set('Link', sprintf('<%s>; rel="successor-version"', $successor));
|
|
}
|
|
|
|
return $response;
|
|
}
|
|
}
|