Autarky\Routing\Router::getRouteForRequest PHP Method

getRouteForRequest() public method

Get the Route object corresponding to a given request.
public getRouteForRequest ( Request $request ) : Route
$request Symfony\Component\HttpFoundation\Request
return Route
    public function getRouteForRequest(Request $request)
    {
        $method = $request->getMethod();
        $path = $request->getPathInfo() ?: '/';
        $result = $this->getDispatcher()->dispatch($method, $path);
        if ($result[0] == \FastRoute\Dispatcher::NOT_FOUND) {
            throw new NotFoundHttpException("No route match for path {$path}");
        } else {
            if ($result[0] == \FastRoute\Dispatcher::METHOD_NOT_ALLOWED) {
                throw new MethodNotAllowedHttpException($result[1], "Method {$method} not allowed for path {$path}");
            } else {
                if ($result[0] !== \FastRoute\Dispatcher::FOUND) {
                    throw new \RuntimeException('Unknown result from FastRoute: ' . $result[0]);
                }
            }
        }
        return $this->matchRoute($result[1], $result[2], $request);
    }