Extending
Middleware
Extend and replace core middleware in Unleash Commerce Core
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Extend and replace core middleware in Unleash Commerce Core
namespace App\Http\Middleware;
use Closure;
use Esign\UnleashCommerce\Core\Contracts\Http\Middleware\EnsureUserHasCustomerMiddleware as EnsureUserHasCustomerMiddlewareContract;
use Esign\UnleashCommerce\Core\Http\Middleware\EnsureUserHasCustomerMiddleware as BaseEnsureUserHasCustomerMiddleware;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class EnsureUserHasCustomerMiddleware extends BaseEnsureUserHasCustomerMiddleware implements EnsureUserHasCustomerMiddlewareContract
{
public function handle(Request $request, Closure $next): Response
{
if ($request->user()?->is_suspended) {
abort(Response::HTTP_FORBIDDEN);
}
return parent::handle($request, $next);
}
}
<?php
namespace App\Providers;
use App\Http\Middleware\EnsureUserHasCustomerMiddleware;
use Esign\UnleashCommerce\Core\Contracts\Http\Middleware\EnsureUserHasCustomerMiddleware as EnsureUserHasCustomerMiddlewareContract;
use Illuminate\Support\ServiceProvider;
class UnleashCommerceServiceProvider extends ServiceProvider
{
public function register(): void
{
$this->registerMiddleware();
}
protected function registerMiddleware(): void
{
$this->app->bind(
EnsureUserHasCustomerMiddlewareContract::class,
EnsureUserHasCustomerMiddleware::class
);
}
}