headers->get('Origin'); // Handle preflight OPTIONS requests if ($request->getMethod() === 'OPTIONS') { $response = response('', 200); } else { $response = $next($request); } // Set CORS headers if (in_array($origin, $allowedOrigins)) { $response->headers->set('Access-Control-Allow-Origin', $origin); } $response->headers->set('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS, PATCH'); $response->headers->set('Access-Control-Allow-Headers', 'Content-Type, Authorization, X-Requested-With, Accept, Origin'); $response->headers->set('Access-Control-Allow-Credentials', 'true'); $response->headers->set('Access-Control-Max-Age', '86400'); // Cache preflight for 24 hours return $response; } }