File: /home/xedaptot/be.naniguide.com/app/Http/Middleware/FrontendRouteGuard.php
<?php
namespace App\Http\Middleware;
use App\Library\ModuleManager;
use Closure;
use Illuminate\Http\Request;
/**
* Runs after the customer-access gate (App\Http\Middleware\Frontend) for
* every route in the 'frontend' middleware group. Delegates the per-request
* routing decision to ModuleManager::resolveRouteDecision().
*
* When no plugin has overridden the slot, ModuleManager seeds a null-returning
* default lazily via Hook::setIfEmpty(), so this middleware is a true no-op.
*/
class FrontendRouteGuard
{
public function handle(Request $request, Closure $next)
{
$target = ModuleManager::resolveRouteDecision($request);
return $target !== null
? redirect($target)
: $next($request);
}
}