Barryvdh\Cors\HandlePreflight::hasMatchingCorsRoute PHP 메소드

hasMatchingCorsRoute() 개인적인 메소드

Verify the current OPTIONS request matches a CORS-enabled route
private hasMatchingCorsRoute ( Illuminate\Http\Request $request ) : boolean
$request Illuminate\Http\Request
리턴 boolean
    private function hasMatchingCorsRoute($request)
    {
        // Check if CORS is added in a global middleware
        if ($this->kernel->hasMiddleware(HandleCors::class)) {
            return true;
        }
        // Check if CORS is added as a route middleware
        $request = clone $request;
        $request->setMethod($request->header('Access-Control-Request-Method'));
        try {
            $route = $this->router->getRoutes()->match($request);
            // change of method name in laravel 5.3
            if (method_exists($this->router, 'gatherRouteMiddleware')) {
                $middleware = $this->router->gatherRouteMiddleware($route);
            } else {
                $middleware = $this->router->gatherRouteMiddlewares($route);
            }
            return in_array(HandleCors::class, $middleware);
        } catch (\Exception $e) {
            app('log')->error($e);
            return false;
        }
    }