I want to get the name of the current I route in a middleware class. Previously (in Slim 2.*) you could fetch the current route like so:
$route = $this->app->router->getCurrentRoute();
But this function has been removed in the 3.0 version of Slim. I've found the following code in the __invoke method of Slim\App:
    // Get the route info
    $routeInfo = $request->getAttribute('routeInfo');
    /** @var \Slim\Interfaces\RouterInterface $router */
    $router = $this->container->get('router');
    // If router hasn't been dispatched or the URI changed then dispatch
    if (null === $routeInfo || ($routeInfo['request'] !== [$request->getMethod(), (string) $request->getUri()])) {
        $request = $this->dispatchRouterAndPrepareRoute($request, $router);
        $routeInfo = $request->getAttribute('routeInfo');
    }
This indicates that the current route is stored as the attribute routeInfo in the Request. But it seems that my custom middleware class is called before the attribute is set (by the $this->dispatchRouterAndPrepareRoute($request, $router); method). Because calling $request->getAttribute('routeInfo') resolves to NULL.
So my question is; how can I get the current route (or the name of the route) from a middleware function/class?
Or should I just copy the piece of code above from Slim\App?