DeprecatedEndpoint.php 888 B

12345678910111213141516171819202122232425262728
  1. <?php
  2. namespace App\Http\Middleware;
  3. use Closure;
  4. use Illuminate\Http\Request;
  5. use Symfony\Component\HttpFoundation\Response;
  6. class DeprecatedEndpoint
  7. {
  8. /**
  9. * Handle an incoming request.
  10. *
  11. * @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
  12. */
  13. public function handle(Request $request, Closure $next): Response
  14. {
  15. abort_if(now()->gt('Jan 01, 2024'), 404);
  16. $response = $next($request);
  17. $link = $response->headers->has('link') ? $response->headers->get('link') . ',<https://pixelfed.org/kb/10404>; rel="deprecation"' : '<https://pixelfed.org/kb/10404>; rel="deprecation"';
  18. $response->withHeaders([
  19. 'Deprecation' => 'Sat, 01 Jul 2023 00:00:00 GMT',
  20. 'Sunset' => 'Mon, 01 Jan 2024 00:00:00 GMT',
  21. 'Link' => $link
  22. ]);
  23. return $response;
  24. }
  25. }