HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/ehbo.today/app/Http/Middleware/AbstractResolver.php
<?php
namespace App\Http\Middleware;

use App\KommaApp\Routes\Models\RedirectRoute;
use App\KommaApp\Routes\Models\Route;
use App\KommaApp\Routes\RedirectRouteModelInterface;
use App\KommaApp\Routes\RouteModelInterface;
use Closure;
use Illuminate\Http\Request;

abstract class AbstractResolver
{
    /** @var string The key that holds a value that can be used to determine if the route has been resolved or not*/
    private $key;

    /**
     * @var RouteModelInterface $routeClass.
     */
    protected $routeClass;

    /**
     * @var RedirectRouteModelInterface $routeClass.
     */
    protected $redirectRouteClass;

    public function __construct()
    {
        $this->key = config('app.route_resolved_session_key');
        $this->routeClass = Route::class;
        $this->redirectRouteClass = RedirectRoute::class;
    }

    /**
     * Returns true if the route is resolved. False if not
     *
     * @param Request $request
     * @return bool
     */
    public function isRouteResolved(Request $request) : bool
    {
        if(isset($request->resolved) && $request->resolved) return true;
        elseif(isset($request->resolved)) return false;
        else{
            $request->resolved = false;
            return false;
        }
    }

    /**
     * Set if the route is resolved or not
     *
     * @param Request $request
     * @param bool $resolved
     * @return Request
     */
    public function setRouteResolved(Request $request, $resolved = true) : Request
    {
        $request->resolved = true;
        return $request;
    }

    /**
     * Handle an incoming request.
     *
     * @param  Request $request
     * @param  \Closure $next
     * @return mixed
     */
    abstract public function handle($request, Closure $next);
}