private function marshalLazyMiddlewareService($middleware, ContainerInterface $container) { return function ($request, $response, $next = null) use($container, $middleware) { $invokable = $container->get($middleware); if (!is_callable($invokable)) { throw new Exception\InvalidMiddlewareException(sprintf('Lazy-loaded middleware "%s" is not invokable', $middleware)); } return $invokable($request, $response, $next); }; }