code: 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);
  	}
docs: Get the Route object corresponding to a given request.
  
  @param  Request $request
  
  @return Route
  
  @throws NotFoundHttpException
  @throws MethodNotAllowedHttpException