def inspect_app(app: App) -> 'AppInfo':
    'Inspects an application.\n\n    Args:\n        app (falcon.App): The application to inspect. Works with both\n            :class:`falcon.App` and :class:`falcon.asgi.App`.\n\n    Returns:\n        AppInfo: The information regarding the application. Call\n        :meth:`~.AppInfo.to_string` on the result to obtain a human-friendly\n        representation.\n    '
    routes = inspect_routes(app)
    static = inspect_static_routes(app)
    sinks = inspect_sinks(app)
    error_handlers = inspect_error_handlers(app)
    middleware = inspect_middlewares(app)
    return AppInfo(routes, middleware, static, sinks, error_handlers, app._ASGI)
Inspects an application.

Args:
    app (falcon.App): The application to inspect. Works with both
        :class:`falcon.App` and :class:`falcon.asgi.App`.

Returns:
    AppInfo: The information regarding the application. Call
    :meth:`~.AppInfo.to_string` on the result to obtain a human-friendly
    representation.
def inspect_app(app: App) -> 'AppInfo':
    'Inspects an application.\n\n    Args:\n        app (falcon.App): The application to inspect. Works with both\n            :class:`falcon.App` and :class:`falcon.asgi.App`.\n\n    Returns:\n        AppInfo: The information regarding the application. Call\n        :meth:`~.AppInfo.to_string` on the result to obtain a human-friendly\n        representation.\n    '
    routes = inspect_routes(app)
    static = inspect_static_routes(app)
    sinks = inspect_sinks(app)
    error_handlers = inspect_error_handlers(app)
    middleware = inspect_middlewares(app)
    return AppInfo(routes, middleware, static, sinks, error_handlers, app._ASGI)