<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
use Illuminate\Auth\Middleware\Authenticate;

class RedirectIfUnauthenticated extends Authenticate
{
    protected function unauthenticated($request, array $guards)
    {
        if ($request->expectsJson()) {
            abort(response()->json(['message' => 'Unauthorized. Token is missing or invalid.'], 401));
        }

        redirect()->guest(route('login'))->send();
        exit;
    }
}
