29 lines
820 B
PHP
29 lines
820 B
PHP
<?php
|
||
|
||
namespace App\Dev\SubdomainOptimizationGpt5\Http\Middleware;
|
||
|
||
use App\Dev\SubdomainOptimizationGpt5\Services\UserShopSessionManager;
|
||
use App\Domain\DomainContext;
|
||
use Closure;
|
||
use Illuminate\Http\Request;
|
||
|
||
/**
|
||
* Spät gestartete Middleware (NACH StartSession).
|
||
* - Synchronisiert `user_shop` zwischen Cookie und Session
|
||
* - Setzt optional Legacy-Session-Keys für Abwärtskompatibilität
|
||
*/
|
||
class DomainSessionSync
|
||
{
|
||
public function __construct(private readonly UserShopSessionManager $manager) {}
|
||
|
||
public function handle(Request $request, Closure $next)
|
||
{
|
||
/** @var DomainContext|null $context */
|
||
$context = app(DomainContext::class);
|
||
|
||
// Session ist aktiv – konsolidieren
|
||
$this->manager->synchronize($request, $context);
|
||
|
||
return $next($request);
|
||
}
|
||
}
|