Coverage report: 32%

Files Functions Classes

coverage.py v7.15.4, created at 2026-08-25 04:37 +0800

File function   statements missing excluded   coverage
src/lexigram/web/__init__.py __getattr__   8 1 0   88%
src/lexigram/web/__init__.py __dir__   1 1 0   0%
src/lexigram/web/__init__.py (no function)   9 0 4   100%
src/lexigram/web/admin/__init__.py (no function)   1 0 0   100%
src/lexigram/web/admin/contributor.py _empty_handler   1 1 0   0%
src/lexigram/web/admin/contributor.py WebAdminContributor.__init__   1 1 0   0%
src/lexigram/web/admin/contributor.py WebAdminContributor.on_admin_boot   7 7 0   0%
src/lexigram/web/admin/contributor.py WebAdminContributor.get_routes   1 1 0   0%
src/lexigram/web/admin/contributor.py WebAdminContributor.get_dashboard_widgets   1 1 0   0%
src/lexigram/web/admin/contributor.py WebAdminContributor.get_navigation_items   1 1 0   0%
src/lexigram/web/admin/contributor.py WebAdminContributor.get_health_definitions   1 1 0   0%
src/lexigram/web/admin/contributor.py WebAdminContributor.get_actions   1 1 0   0%
src/lexigram/web/admin/contributor.py WebAdminContributor.get_management_pages   1 1 0   0%
src/lexigram/web/admin/contributor.py WebAdminContributor.render_widget   7 7 0   0%
src/lexigram/web/admin/contributor.py (no function)   30 0 3   100%
src/lexigram/web/admin/handlers/__init__.py (no function)   1 0 0   100%
src/lexigram/web/admin/handlers/active_connections.py ActiveConnectionsWidgetHandler.__init__   1 1 0   0%
src/lexigram/web/admin/handlers/active_connections.py ActiveConnectionsWidgetHandler.get_data   6 6 0   0%
src/lexigram/web/admin/handlers/active_connections.py (no function)   9 0 0   100%
src/lexigram/web/admin/handlers/request_rate.py RequestRateWidgetHandler.__init__   1 1 0   0%
src/lexigram/web/admin/handlers/request_rate.py RequestRateWidgetHandler.get_data   6 6 0   0%
src/lexigram/web/admin/handlers/request_rate.py (no function)   9 0 0   100%
src/lexigram/web/admin/handlers/server_status.py ServerStatusWidgetHandler.get_data   1 1 0   0%
src/lexigram/web/admin/handlers/server_status.py ServerStatusWidgetHandler._uptime_seconds   1 1 0   0%
src/lexigram/web/admin/handlers/server_status.py (no function)   13 0 0   100%
src/lexigram/web/admin/pages/__init__.py (no function)   5 5 0   0%
src/lexigram/web/admin/pages/middleware.py WebMiddlewarePage.__init__   2 2 0   0%
src/lexigram/web/admin/pages/middleware.py WebMiddlewarePage.handle   13 13 0   0%
src/lexigram/web/admin/pages/middleware.py (no function)   11 11 0   0%
src/lexigram/web/admin/pages/overview.py WebOverviewPage.__init__   2 2 0   0%
src/lexigram/web/admin/pages/overview.py WebOverviewPage.handle   14 14 0   0%
src/lexigram/web/admin/pages/overview.py (no function)   11 11 0   0%
src/lexigram/web/admin/pages/routes.py WebRoutesPage.__init__   1 1 0   0%
src/lexigram/web/admin/pages/routes.py WebRoutesPage.handle   11 11 0   0%
src/lexigram/web/admin/pages/routes.py (no function)   10 10 0   0%
src/lexigram/web/admin/widgets/__init__.py (no function)   5 0 0   100%
src/lexigram/web/background/__init__.py (no function)   4 0 0   100%
src/lexigram/web/background/decorator.py background   2 2 0   0%
src/lexigram/web/background/decorator.py background.wrapper   3 3 0   0%
src/lexigram/web/background/decorator.py (no function)   5 0 0   100%
src/lexigram/web/background/tasks.py _is_async_callable   1 1 0   0%
src/lexigram/web/background/tasks.py BackgroundTasks.__init__   1 1 0   0%
src/lexigram/web/background/tasks.py BackgroundTasks.add   2 2 0   0%
src/lexigram/web/background/tasks.py BackgroundTasks._execute_all   5 5 0   0%
src/lexigram/web/background/tasks.py BackgroundTasks.__len__   1 1 0   0%
src/lexigram/web/background/tasks.py BackgroundTasks.__bool__   1 1 0   0%
src/lexigram/web/background/tasks.py StarletteBackgroundTaskRunner.__init__   2 2 0   0%
src/lexigram/web/background/tasks.py StarletteBackgroundTaskRunner.add_task   8 8 0   0%
src/lexigram/web/background/tasks.py StarletteBackgroundTaskRunner.add_task._async_wrapper   2 2 0   0%
src/lexigram/web/background/tasks.py StarletteBackgroundTaskRunner._to_starlette   1 1 0   0%
src/lexigram/web/background/tasks.py BackgroundTaskScope.__init__   1 1 0   0%
src/lexigram/web/background/tasks.py BackgroundTaskScope.tasks   1 1 0   0%
src/lexigram/web/background/tasks.py BackgroundTaskScope.add   1 1 0   0%
src/lexigram/web/background/tasks.py (no function)   23 0 2   100%
src/lexigram/web/cli/__init__.py (no function)   2 0 0   100%
src/lexigram/web/cli/checks.py check_routes_valid   1 1 0   0%
src/lexigram/web/cli/checks.py (no function)   2 2 0   0%
src/lexigram/web/cli/contributor.py WebCliContributor.contributor_id   1 1 0   0%
src/lexigram/web/cli/contributor.py WebCliContributor.get_generators   1 0 0   100%
src/lexigram/web/cli/contributor.py WebCliContributor.get_commands   1 1 0   0%
src/lexigram/web/cli/contributor.py WebCliContributor.get_health_checks   1 1 0   0%
src/lexigram/web/cli/contributor.py WebCliContributor.get_doctor_checks   1 1 0   0%
src/lexigram/web/cli/contributor.py WebCliContributor.get_shell_context   1 1 0   0%
src/lexigram/web/cli/contributor.py WebCliContributor.get_hooks   1 1 0   0%
src/lexigram/web/cli/contributor.py (no function)   14 0 0   100%
src/lexigram/web/cli/generators/__init__.py (no function)   7 0 0   100%
src/lexigram/web/cli/generators/controller.py ControllerGenerator.__init__   1 1 0   0%
src/lexigram/web/cli/generators/controller.py ControllerGenerator.generate   8 8 0   0%
src/lexigram/web/cli/generators/controller.py ControllerGenerator._strip_type_suffix   3 3 0   0%
src/lexigram/web/cli/generators/controller.py ControllerGenerator._pluralize   5 5 0   0%
src/lexigram/web/cli/generators/controller.py (no function)   11 0 0   100%
src/lexigram/web/cli/generators/graphql.py GraphQLGenerator.__init__   1 1 0   0%
src/lexigram/web/cli/generators/graphql.py GraphQLGenerator.generate   23 23 0   0%
src/lexigram/web/cli/generators/graphql.py GraphQLGenerator._pluralize   5 5 0   0%
src/lexigram/web/cli/generators/graphql.py (no function)   12 0 0   100%
src/lexigram/web/cli/generators/middleware.py MiddlewareGenerator.__init__   1 1 0   0%
src/lexigram/web/cli/generators/middleware.py MiddlewareGenerator.generate   3 3 0   0%
src/lexigram/web/cli/generators/middleware.py (no function)   8 0 0   100%
src/lexigram/web/cli/generators/resource.py ResourceGenerator.__init__   5 5 0   0%
src/lexigram/web/cli/generators/resource.py ResourceGenerator.generate   5 5 0   0%
src/lexigram/web/cli/generators/resource.py (no function)   15 0 0   100%
src/lexigram/web/cli/generators/webhook.py WebhookGenerator.__init__   1 1 0   0%
src/lexigram/web/cli/generators/webhook.py WebhookGenerator.generate   3 3 0   0%
src/lexigram/web/cli/generators/webhook.py WebhookGenerator._package_name   4 4 0   0%
src/lexigram/web/cli/generators/webhook.py (no function)   10 0 0   100%
src/lexigram/web/cli/generators/websocket.py WebSocketHandlerGenerator.__init__   1 1 0   0%
src/lexigram/web/cli/generators/websocket.py WebSocketHandlerGenerator.generate   4 4 0   0%
src/lexigram/web/cli/generators/websocket.py (no function)   9 0 0   100%
src/lexigram/web/config/__init__.py __getattr__   4 4 0   0%
src/lexigram/web/config/__init__.py (no function)   17 0 0   100%
src/lexigram/web/config/api_docs.py APIDocsConfig.get_required_domains   9 9 0   0%
src/lexigram/web/config/api_docs.py (no function)   21 0 0   100%
src/lexigram/web/config/provider.py WebProviderConfig.is_production   1 1 0   0%
src/lexigram/web/config/provider.py WebProviderConfig.is_development   1 1 0   0%
src/lexigram/web/config/provider.py WebProviderConfig.is_test   1 1 0   0%
src/lexigram/web/config/provider.py (no function)   26 0 0   100%
src/lexigram/web/config/rate_limit.py RateLimitRuleConfig.effective_burst   1 1 0   0%
src/lexigram/web/config/rate_limit.py RateLimitConfig.validate_rate_limit   6 6 0   0%
src/lexigram/web/config/rate_limit.py RateLimitConfig.get_rule   9 9 0   0%
src/lexigram/web/config/rate_limit.py RoleGuardConfig.enabled   1 1 0   0%
src/lexigram/web/config/rate_limit.py (no function)   38 0 0   100%
src/lexigram/web/config/server.py ServerConfig.validate_server   5 5 0   0%
src/lexigram/web/config/server.py (no function)   17 0 0   100%
src/lexigram/web/config/top_level.py WebConfig.validate_production_security   16 16 0   0%
src/lexigram/web/config/top_level.py (no function)   45 0 0   100%
src/lexigram/web/constants.py (no function)   22 2 0   91%
src/lexigram/web/contributors/__init__.py (no function)   3 0 0   100%
src/lexigram/web/contributors/discovery.py load_web_contributors   10 10 0   0%
src/lexigram/web/contributors/discovery.py (no function)   8 0 0   100%
src/lexigram/web/contributors/registry.py WebContributorRegistry.__init__   1 1 0   0%
src/lexigram/web/contributors/registry.py WebContributorRegistry.register   1 1 0   0%
src/lexigram/web/contributors/registry.py WebContributorRegistry.get   1 1 0   0%
src/lexigram/web/contributors/registry.py WebContributorRegistry.get_all   1 1 0   0%
src/lexigram/web/contributors/registry.py (no function)   8 0 0   100%
src/lexigram/web/debug/__init__.py (no function)   2 2 0   0%
src/lexigram/web/debug/routes.py _check_admin   7 7 0   0%
src/lexigram/web/debug/routes.py debug_routes   12 12 0   0%
src/lexigram/web/debug/routes.py debug_di_graph   22 22 0   0%
src/lexigram/web/debug/routes.py debug_container   12 12 0   0%
src/lexigram/web/debug/routes.py (no function)   7 7 0   0%
src/lexigram/web/decorators.py compose   2 2 1   0%
src/lexigram/web/decorators.py compose.decorator   4 4 0   0%
src/lexigram/web/decorators.py api_controller   2 2 1   0%
src/lexigram/web/decorators.py api_controller.decorator   9 9 0   0%
src/lexigram/web/decorators.py merge_metadata   12 12 0   0%
src/lexigram/web/decorators.py (no function)   8 0 0   100%
src/lexigram/web/dependencies/__init__.py (no function)   4 0 0   100%
src/lexigram/web/dependencies/functions.py get_request_id   4 4 0   0%
src/lexigram/web/dependencies/functions.py get_current_user_optional   1 1 0   0%
src/lexigram/web/dependencies/functions.py get_current_user_required   4 4 0   0%
src/lexigram/web/dependencies/functions.py get_database   1 1 0   0%
src/lexigram/web/dependencies/functions.py (no function)   10 0 0   100%
src/lexigram/web/dependencies/state.py RequestState.get   1 1 0   0%
src/lexigram/web/dependencies/state.py RequestState.require   4 4 0   0%
src/lexigram/web/dependencies/state.py RequestState.set   1 1 0   0%
src/lexigram/web/dependencies/state.py (no function)   15 0 0   100%
src/lexigram/web/dependencies/strategies.py WebParameterStrategy.__init__   4 4 0   0%
src/lexigram/web/dependencies/strategies.py WebParameterStrategy.resolve   22 22 0   0%
src/lexigram/web/dependencies/strategies.py (no function)   6 0 0   100%
src/lexigram/web/di/__init__.py (no function)   5 0 0   100%
src/lexigram/web/di/middleware_setup.py MiddlewareSetup.__init__   2 2 0   0%
src/lexigram/web/di/middleware_setup.py MiddlewareSetup.configure   9 9 0   0%
src/lexigram/web/di/middleware_setup.py MiddlewareSetup._configure_csp   23 23 0   0%
src/lexigram/web/di/middleware_setup.py MiddlewareSetup._add_security_headers   4 4 0   0%
src/lexigram/web/di/middleware_setup.py MiddlewareSetup._add_host_validation   7 7 0   0%
src/lexigram/web/di/middleware_setup.py MiddlewareSetup._add_cors   13 13 0   0%
src/lexigram/web/di/middleware_setup.py MiddlewareSetup._add_csrf   17 17 0   0%
src/lexigram/web/di/middleware_setup.py MiddlewareSetup._add_request_context   3 3 0   0%
src/lexigram/web/di/middleware_setup.py MiddlewareSetup._add_di_scope   2 2 0   0%
src/lexigram/web/di/middleware_setup.py MiddlewareSetup._add_hooks   2 2 0   0%
src/lexigram/web/di/middleware_setup.py MiddlewareSetup._add_body_limit   5 5 0   0%
src/lexigram/web/di/middleware_setup.py (no function)   23 0 4   100%
src/lexigram/web/di/provider.py WebProvider.__init__   19 19 0   0%
src/lexigram/web/di/provider.py WebProvider.contributor_registry   1 1 0   0%
src/lexigram/web/di/provider.py WebProvider.from_config   1 1 0   0%
src/lexigram/web/di/provider.py WebProvider.auto_discover   3 3 0   0%
src/lexigram/web/di/provider.py WebProvider.register   71 71 0   0%
src/lexigram/web/di/provider.py WebProvider._register_injectable_services   4 4 0   0%
src/lexigram/web/di/provider.py WebProvider._register_injectable_services._register_one   8 8 0   0%
src/lexigram/web/di/provider.py WebProvider.boot   17 17 0   0%
src/lexigram/web/di/provider.py WebProvider._init_starlette   3 3 0   0%
src/lexigram/web/di/provider.py WebProvider._setup_middleware   2 2 0   0%
src/lexigram/web/di/provider.py WebProvider._setup_integrations   15 15 0   0%
src/lexigram/web/di/provider.py WebProvider._setup_routes   2 2 0   0%
src/lexigram/web/di/provider.py WebProvider._dependency_resolution_handler   1 1 0   0%
src/lexigram/web/di/provider.py WebProvider.shutdown   5 5 0   0%
src/lexigram/web/di/provider.py WebProvider.health_check   1 1 0   0%
src/lexigram/web/di/provider.py WebProvider.run_server   4 4 0   0%
src/lexigram/web/di/provider.py (no function)   48 0 0   100%
src/lexigram/web/di/rate_limit.py RateLimitProvider.__init__   4 4 0   0%
src/lexigram/web/di/rate_limit.py RateLimitProvider.register   4 4 0   0%
src/lexigram/web/di/rate_limit.py RateLimitProvider.boot   9 9 0   0%
src/lexigram/web/di/rate_limit.py RateLimitProvider.shutdown   2 2 0   0%
src/lexigram/web/di/rate_limit.py RateLimitProvider.health_check   3 3 0   0%
src/lexigram/web/di/rate_limit.py (no function)   16 0 2   100%
src/lexigram/web/di/route_setup.py RouteSetup.__init__   3 3 0   0%
src/lexigram/web/di/route_setup.py RouteSetup.configure   7 7 0   0%
src/lexigram/web/di/route_setup.py RouteSetup._register_health_route   2 2 0   0%
src/lexigram/web/di/route_setup.py RouteSetup._register_debug_routes   8 8 0   0%
src/lexigram/web/di/route_setup.py RouteSetup._mount_metrics   8 8 0   0%
src/lexigram/web/di/route_setup.py RouteSetup._mount_contributors   9 9 0   0%
src/lexigram/web/di/route_setup.py RouteSetup._mount_static   9 9 0   0%
src/lexigram/web/di/route_setup.py RouteSetup._register_asgi_handler   10 10 0   0%
src/lexigram/web/di/route_setup.py (no function)   15 0 6   100%
src/lexigram/web/docs/__init__.py (no function)   4 0 0   100%
src/lexigram/web/docs/decorators.py openapi   2 2 0   0%
src/lexigram/web/docs/decorators.py openapi.decorator   5 5 0   0%
src/lexigram/web/docs/decorators.py (no function)   4 0 0   100%
src/lexigram/web/docs/enrichment.py OpenAPIEnricher.__init__   2 2 0   0%
src/lexigram/web/docs/enrichment.py OpenAPIEnricher._ensure_components   6 6 0   0%
src/lexigram/web/docs/enrichment.py OpenAPIEnricher.add_security_scheme   10 10 0   0%
src/lexigram/web/docs/enrichment.py OpenAPIEnricher.add_bearer_auth   1 1 0   0%
src/lexigram/web/docs/enrichment.py OpenAPIEnricher.add_api_key_auth   1 1 0   0%
src/lexigram/web/docs/enrichment.py OpenAPIEnricher.apply_security_to_all_paths   7 7 0   0%
src/lexigram/web/docs/enrichment.py OpenAPIEnricher.add_tag   11 11 0   0%
src/lexigram/web/docs/enrichment.py OpenAPIEnricher.add_error_schema   10 10 0   0%
src/lexigram/web/docs/enrichment.py OpenAPIEnricher.add_pagination_response   3 3 0   0%
src/lexigram/web/docs/enrichment.py OpenAPIEnricher.add_file_upload_parameter   1 1 0   0%
src/lexigram/web/docs/enrichment.py enrich_spec   12 12 0   0%
src/lexigram/web/docs/enrichment.py (no function)   14 0 0   100%
src/lexigram/web/docs/generator.py OpenAPIGenerator.__init__   5 5 0   0%
src/lexigram/web/docs/generator.py OpenAPIGenerator._get_schema_for_model   41 41 0   0%
src/lexigram/web/docs/generator.py OpenAPIGenerator._normalize_path   3 3 0   0%
src/lexigram/web/docs/generator.py OpenAPIGenerator._extract_path_parameters   6 6 0   0%
src/lexigram/web/docs/generator.py OpenAPIGenerator._extract_operation_parameters   51 51 0   0%
src/lexigram/web/docs/generator.py OpenAPIGenerator.generate_spec   66 66 0   0%
src/lexigram/web/docs/generator.py (no function)   13 0 0   100%
src/lexigram/web/docs/type_registry.py TypeDocumenterProtocol.can_document   0 0 1   100%
src/lexigram/web/docs/type_registry.py TypeDocumenterProtocol.document   0 0 1   100%
src/lexigram/web/docs/type_registry.py IntDocumenter.can_document   1 1 0   0%
src/lexigram/web/docs/type_registry.py IntDocumenter.document   1 1 0   0%
src/lexigram/web/docs/type_registry.py BoolDocumenter.can_document   1 1 0   0%
src/lexigram/web/docs/type_registry.py BoolDocumenter.document   1 1 0   0%
src/lexigram/web/docs/type_registry.py FloatDocumenter.can_document   1 1 0   0%
src/lexigram/web/docs/type_registry.py FloatDocumenter.document   1 1 0   0%
src/lexigram/web/docs/type_registry.py StringDocumenter.can_document   1 1 0   0%
src/lexigram/web/docs/type_registry.py StringDocumenter.document   1 1 0   0%
src/lexigram/web/docs/type_registry.py TypeDocumenterRegistry.__init__   1 1 0   0%
src/lexigram/web/docs/type_registry.py TypeDocumenterRegistry.get_documenter   4 4 0   0%
src/lexigram/web/docs/type_registry.py (no function)   21 21 3   0%
src/lexigram/web/errors/__init__.py (no function)   4 0 0   100%
src/lexigram/web/errors/html_error_renderer.py _h   21 21 0   0%
src/lexigram/web/errors/html_error_renderer.py _accepts_html   26 26 0   0%
src/lexigram/web/errors/html_error_renderer.py _extract_frames   17 17 0   0%
src/lexigram/web/errors/html_error_renderer.py _redact_headers   8 8 0   0%
src/lexigram/web/errors/html_error_renderer.py _method_badge   2 2 0   0%
src/lexigram/web/errors/html_error_renderer.py _render_frames   12 12 0   0%
src/lexigram/web/errors/html_error_renderer.py _render_kv   4 4 0   0%
src/lexigram/web/errors/html_error_renderer.py _render_debug_page   4 4 0   0%
src/lexigram/web/errors/html_error_renderer.py DebugHtmlErrorRenderer.should_render   1 1 0   0%
src/lexigram/web/errors/html_error_renderer.py DebugHtmlErrorRenderer.render   36 36 0   0%
src/lexigram/web/errors/html_error_renderer.py (no function)   22 0 2   100%
src/lexigram/web/errors/problem_detail.py ProblemDetail.to_dict   6 6 0   0%
src/lexigram/web/errors/problem_detail.py ProblemDetail.from_exception   2 2 0   0%
src/lexigram/web/errors/problem_detail.py ProblemDetail.validation_error   1 1 0   0%
src/lexigram/web/errors/problem_detail.py ProblemDetail.not_found   4 4 0   0%
src/lexigram/web/errors/problem_detail.py ProblemDetail.bad_request   1 1 0   0%
src/lexigram/web/errors/problem_detail.py ProblemDetail.internal_error   1 1 0   0%
src/lexigram/web/errors/problem_detail.py (no function)   22 0 0   100%
src/lexigram/web/events.py (no function)   2 2 0   0%
src/lexigram/web/exceptions.py HTTPError.__init__   6 6 0   0%
src/lexigram/web/exceptions.py NotFoundError.__init__   1 1 0   0%
src/lexigram/web/exceptions.py BadRequestError.__init__   1 1 0   0%
src/lexigram/web/exceptions.py UnauthorizedError.__init__   1 1 0   0%
src/lexigram/web/exceptions.py ForbiddenError.__init__   1 1 0   0%
src/lexigram/web/exceptions.py MethodNotAllowedError.__init__   1 1 0   0%
src/lexigram/web/exceptions.py ConflictError.__init__   1 1 0   0%
src/lexigram/web/exceptions.py UnprocessableEntityError.__init__   1 1 0   0%
src/lexigram/web/exceptions.py InternalServerError.__init__   1 1 0   0%
src/lexigram/web/exceptions.py DependencyResolutionError.__init__   4 4 0   0%
src/lexigram/web/exceptions.py RateLimitError.__init__   2 2 0   0%
src/lexigram/web/exceptions.py TooManyConnectionsError.__init__   1 1 0   0%
src/lexigram/web/exceptions.py (no function)   40 0 0   100%
src/lexigram/web/filters/__init__.py (no function)   5 0 0   100%
src/lexigram/web/filters/builtin.py ValidationErrorFilter.can_handle   2 2 0   0%
src/lexigram/web/filters/builtin.py ValidationErrorFilter.handle   19 19 0   0%
src/lexigram/web/filters/builtin.py DependencyResolutionFilter.can_handle   1 1 0   0%
src/lexigram/web/filters/builtin.py DependencyResolutionFilter.handle   3 3 0   0%
src/lexigram/web/filters/builtin.py DefaultExceptionFilter.__init__   2 2 0   0%
src/lexigram/web/filters/builtin.py DefaultExceptionFilter.can_handle   2 2 0   0%
src/lexigram/web/filters/builtin.py DefaultExceptionFilter.handle   25 25 0   0%
src/lexigram/web/filters/builtin.py (no function)   17 0 0   100%
src/lexigram/web/filters/decorators.py use_filters   2 2 1   0%
src/lexigram/web/filters/decorators.py use_filters.decorator   9 9 0   0%
src/lexigram/web/filters/decorators.py (no function)   8 0 0   100%
src/lexigram/web/filters/pipeline.py FilterPipeline.__init__   4 0 0   100%
src/lexigram/web/filters/pipeline.py FilterPipeline._rebuild_index   4 2 0   50%
src/lexigram/web/filters/pipeline.py FilterPipeline.filters   1 1 0   0%
src/lexigram/web/filters/pipeline.py FilterPipeline.add_filter   4 4 0   0%
src/lexigram/web/filters/pipeline.py FilterPipeline.remove_filter   2 2 0   0%
src/lexigram/web/filters/pipeline.py FilterPipeline.clear   2 0 0   100%
src/lexigram/web/filters/pipeline.py FilterPipeline.handle   17 17 0   0%
src/lexigram/web/filters/pipeline.py get_filter_pipeline   1 1 0   0%
src/lexigram/web/filters/pipeline.py add_global_filter   1 1 0   0%
src/lexigram/web/filters/pipeline.py remove_global_filter   1 1 0   0%
src/lexigram/web/filters/pipeline.py (no function)   21 0 0   100%
src/lexigram/web/hooks.py (no function)   15 0 0   100%
src/lexigram/web/integrations/__init__.py (no function)   10 0 0   100%
src/lexigram/web/integrations/auth.py AuthIntegration._is_invocable_authenticator   12 12 0   0%
src/lexigram/web/integrations/auth.py AuthIntegration.configure   18 18 0   0%
src/lexigram/web/integrations/auth.py AuthIntegration._add_role_guard   17 17 0   0%
src/lexigram/web/integrations/auth.py (no function)   14 0 0   100%
src/lexigram/web/integrations/cache.py CacheIntegration.configure   15 15 0   0%
src/lexigram/web/integrations/cache.py (no function)   10 0 2   100%
src/lexigram/web/integrations/debug.py DebugIntegration.configure   6 6 0   0%
src/lexigram/web/integrations/debug.py (no function)   10 0 0   100%
src/lexigram/web/integrations/graphql.py GraphQLIntegration.configure   22 22 0   0%
src/lexigram/web/integrations/graphql.py GraphQLIntegration.configure._ws_endpoint   11 11 0   0%
src/lexigram/web/integrations/graphql.py (no function)   9 0 2   100%
src/lexigram/web/integrations/rate_limit.py RateLimitIntegration.configure   15 15 0   0%
src/lexigram/web/integrations/rate_limit.py RateLimitIntegration._rate_limit_handler   2 2 0   0%
src/lexigram/web/integrations/rate_limit.py (no function)   14 0 0   100%
src/lexigram/web/integrations/setup.py _emit_action   4 4 0   0%
src/lexigram/web/integrations/setup.py lifespan   28 28 0   0%
src/lexigram/web/integrations/setup.py (no function)   12 0 2   100%
src/lexigram/web/integrations/sql.py SQLIntegration.configure   11 11 0   0%
src/lexigram/web/integrations/sql.py (no function)   11 0 2   100%
src/lexigram/web/integrations/starlette.py build_starlette_app   5 5 0   0%
src/lexigram/web/integrations/starlette.py (no function)   9 9 0   0%
src/lexigram/web/integrations/throttle.py _parse_rate   6 6 0   0%
src/lexigram/web/integrations/throttle.py throttle   3 3 1   0%
src/lexigram/web/integrations/throttle.py RateLimitModule.configure   13 13 0   0%
src/lexigram/web/integrations/throttle.py (no function)   11 0 3   100%
src/lexigram/web/interceptors/__init__.py (no function)   10 0 0   100%
src/lexigram/web/interceptors/builtin/cache.py CacheInterceptor.__init__   3 3 0   0%
src/lexigram/web/interceptors/builtin/cache.py CacheInterceptor.intercept   20 20 0   0%
src/lexigram/web/interceptors/builtin/cache.py CacheInterceptor._default_cache_key   5 5 0   0%
src/lexigram/web/interceptors/builtin/cache.py CacheInterceptor._is_cacheable   10 10 0   0%
src/lexigram/web/interceptors/builtin/cache.py CacheInterceptor.clear_cache   1 1 0   0%
src/lexigram/web/interceptors/builtin/cache.py (no function)   12 0 2   100%
src/lexigram/web/interceptors/builtin/logging.py LoggingInterceptor.__init__   4 4 0   0%
src/lexigram/web/interceptors/builtin/logging.py LoggingInterceptor.intercept   21 21 0   0%
src/lexigram/web/interceptors/builtin/logging.py LoggingInterceptor._get_client_ip   7 7 0   0%
src/lexigram/web/interceptors/builtin/logging.py (no function)   11 0 1   100%
src/lexigram/web/interceptors/builtin/timing.py HandlerTimingInterceptor.__init__   2 2 0   0%
src/lexigram/web/interceptors/builtin/timing.py HandlerTimingInterceptor.intercept   13 13 0   0%
src/lexigram/web/interceptors/builtin/timing.py (no function)   8 0 0   100%
src/lexigram/web/interceptors/builtin/transform.py TransformInterceptor.__init__   2 2 0   0%
src/lexigram/web/interceptors/builtin/transform.py TransformInterceptor.intercept   6 6 0   0%
src/lexigram/web/interceptors/builtin/transform.py TransformInterceptor.transform   1 1 0   0%
src/lexigram/web/interceptors/builtin/transform.py TransformInterceptor._wrap   1 1 0   0%
src/lexigram/web/interceptors/builtin/transform.py (no function)   9 0 2   100%
src/lexigram/web/interceptors/pipeline.py DefaultCallHandler.__init__   1 1 0   0%
src/lexigram/web/interceptors/pipeline.py DefaultCallHandler.handle   1 1 0   0%
src/lexigram/web/interceptors/pipeline.py InterceptorChain.__init__   4 4 0   0%
src/lexigram/web/interceptors/pipeline.py InterceptorChain.handle   5 5 0   0%
src/lexigram/web/interceptors/pipeline.py InterceptorPipeline.__init__   1 1 0   0%
src/lexigram/web/interceptors/pipeline.py InterceptorPipeline.add_interceptor   2 2 0   0%
src/lexigram/web/interceptors/pipeline.py InterceptorPipeline.remove_interceptor   2 2 0   0%
src/lexigram/web/interceptors/pipeline.py InterceptorPipeline.clear   1 1 0   0%
src/lexigram/web/interceptors/pipeline.py InterceptorPipeline.interceptors   1 1 0   0%
src/lexigram/web/interceptors/pipeline.py InterceptorPipeline.execute   4 4 0   0%
src/lexigram/web/interceptors/pipeline.py InterceptorPipeline.__len__   1 1 0   0%
src/lexigram/web/interceptors/pipeline.py InterceptorPipeline.__bool__   1 1 0   0%
src/lexigram/web/interceptors/pipeline.py (no function)   20 0 2   100%
src/lexigram/web/middleware/__init__.py (no function)   16 0 0   100%
src/lexigram/web/middleware/access_log.py AccessLogMiddleware.__init__   3 3 0   0%
src/lexigram/web/middleware/access_log.py AccessLogMiddleware.__call__   23 23 0   0%
src/lexigram/web/middleware/access_log.py AccessLogMiddleware.__call__.send_with_logging   3 3 0   0%
src/lexigram/web/middleware/access_log.py (no function)   11 0 3   100%
src/lexigram/web/middleware/adapter.py _LexigramMiddlewareAdapter.__init__   2 2 0   0%
src/lexigram/web/middleware/adapter.py _LexigramMiddlewareAdapter.__call__   20 20 0   0%
src/lexigram/web/middleware/adapter.py _LexigramMiddlewareAdapter.__call__.lexigram_call_next   3 3 0   0%
src/lexigram/web/middleware/adapter.py _LexigramMiddlewareAdapter.__call__.lexigram_call_next.send_wrapper   3 3 0   0%
src/lexigram/web/middleware/adapter.py _LexigramMiddlewareAdapter.__call__.send_wrapper   3 3 0   0%
src/lexigram/web/middleware/adapter.py _LexigramMiddlewareAdapter._convert_to_starlette_response   17 17 0   0%
src/lexigram/web/middleware/adapter.py _SimpleASGIMiddlewareAdapter.__init__   1 1 0   0%
src/lexigram/web/middleware/adapter.py _SimpleASGIMiddlewareAdapter.__call__   7 7 0   0%
src/lexigram/web/middleware/adapter.py _SimpleASGIMiddlewareAdapter.__call__.call_next   2 2 0   0%
src/lexigram/web/middleware/adapter.py _SimpleASGIMiddlewareAdapter.__call__.call_next.asgi_handler   1 1 0   0%
src/lexigram/web/middleware/adapter.py _SimpleASGIMiddlewareAdapter._run_inner   1 1 0   0%
src/lexigram/web/middleware/adapter.py (no function)   16 16 0   0%
src/lexigram/web/middleware/auth.py AuthenticationMiddleware.__init__   6 6 0   0%
src/lexigram/web/middleware/auth.py AuthenticationMiddleware.__call__   58 58 0   0%
src/lexigram/web/middleware/auth.py AuthenticationMiddleware.__call__._get   3 3 0   0%
src/lexigram/web/middleware/auth.py (no function)   14 0 0   100%
src/lexigram/web/middleware/base.py MiddlewareChain.__init__   1 1 0   0%
src/lexigram/web/middleware/base.py MiddlewareChain.process_request   5 5 0   0%
src/lexigram/web/middleware/base.py MiddlewareChain.process_response   3 3 0   0%
src/lexigram/web/middleware/base.py MiddlewareRegistry.__init__   5 5 0   0%
src/lexigram/web/middleware/base.py MiddlewareRegistry.register_middleware   8 8 0   0%
src/lexigram/web/middleware/base.py MiddlewareRegistry.compose_app   5 5 0   0%
src/lexigram/web/middleware/base.py MiddlewareRegistry.register_function_middleware   8 8 0   0%
src/lexigram/web/middleware/base.py MiddlewareRegistry.get_middleware_order   1 1 0   0%
src/lexigram/web/middleware/base.py MiddlewareRegistry.is_registered   3 3 0   0%
src/lexigram/web/middleware/base.py (no function)   22 0 0   100%
src/lexigram/web/middleware/body_limit.py RequestBodySizeLimitMiddleware.__init__   2 2 0   0%
src/lexigram/web/middleware/body_limit.py RequestBodySizeLimitMiddleware.__call__   19 19 0   0%
src/lexigram/web/middleware/body_limit.py RequestBodySizeLimitMiddleware.__call__.counting_receive   10 10 0   0%
src/lexigram/web/middleware/body_limit.py _413_response   2 2 0   0%
src/lexigram/web/middleware/body_limit.py _413_response.respond   2 2 0   0%
src/lexigram/web/middleware/body_limit.py (no function)   10 0 0   100%
src/lexigram/web/middleware/compression.py CompressionMiddleware.__init__   3 3 0   0%
src/lexigram/web/middleware/compression.py CompressionMiddleware.__call__   17 17 0   0%
src/lexigram/web/middleware/compression.py CompressionMiddleware.__call__.send_compressed   17 17 0   0%
src/lexigram/web/middleware/compression.py CompressionMiddleware._compress_and_send   11 11 0   0%
src/lexigram/web/middleware/compression.py (no function)   10 0 0   100%
src/lexigram/web/middleware/cors.py CORSMiddleware.__init__   1 1 0   0%
src/lexigram/web/middleware/cors.py CORSMiddleware._convert_config   8 8 0   0%
src/lexigram/web/middleware/cors.py create_development_cors   2 2 0   0%
src/lexigram/web/middleware/cors.py create_production_cors   1 1 0   0%
src/lexigram/web/middleware/cors.py (no function)   14 0 0   100%
src/lexigram/web/middleware/di.py (no function)   3 3 0   0%
src/lexigram/web/middleware/di_scope.py DIScopeMiddleware.__init__   3 3 0   0%
src/lexigram/web/middleware/di_scope.py DIScopeMiddleware.__call__   43 43 0   0%
src/lexigram/web/middleware/di_scope.py (no function)   10 0 3   100%
src/lexigram/web/middleware/hooks.py WebHooksMiddleware.__init__   2 2 0   0%
src/lexigram/web/middleware/hooks.py WebHooksMiddleware.__call__   9 9 0   0%
src/lexigram/web/middleware/hooks.py WebHooksMiddleware.__call__.send_with_hooks   4 4 0   0%
src/lexigram/web/middleware/hooks.py WebHooksMiddleware._emit_action   3 3 0   0%
src/lexigram/web/middleware/hooks.py (no function)   10 0 2   100%
src/lexigram/web/middleware/host.py HostValidationMiddleware.__init__   2 2 0   0%
src/lexigram/web/middleware/host.py HostValidationMiddleware._extract_host   16 16 0   0%
src/lexigram/web/middleware/host.py HostValidationMiddleware.__call__   8 8 0   0%
src/lexigram/web/middleware/host.py HostValidationMiddleware._reject   3 3 0   0%
src/lexigram/web/middleware/host.py (no function)   10 0 2   100%
src/lexigram/web/middleware/manager.py WebMiddlewareManager.__init__   3 3 0   0%
src/lexigram/web/middleware/manager.py WebMiddlewareManager.build_native_stack   3 3 0   0%
src/lexigram/web/middleware/manager.py (no function)   5 0 3   100%
src/lexigram/web/middleware/metrics.py MetricsCollectorProtocol.increment_counter   0 0 1   100%
src/lexigram/web/middleware/metrics.py MetricsCollectorProtocol.observe_histogram   0 0 1   100%
src/lexigram/web/middleware/metrics.py MetricsCollectorProtocol.set_gauge   0 0 1   100%
src/lexigram/web/middleware/metrics.py InMemoryMetricsCollector.__init__   3 3 0   0%
src/lexigram/web/middleware/metrics.py InMemoryMetricsCollector.increment_counter   2 2 0   0%
src/lexigram/web/middleware/metrics.py InMemoryMetricsCollector.observe_histogram   2 2 0   0%
src/lexigram/web/middleware/metrics.py InMemoryMetricsCollector.set_gauge   2 2 0   0%
src/lexigram/web/middleware/metrics.py InMemoryMetricsCollector.counter   1 1 0   0%
src/lexigram/web/middleware/metrics.py InMemoryMetricsCollector.histogram_values   1 1 0   0%
src/lexigram/web/middleware/metrics.py InMemoryMetricsCollector.gauge   1 1 0   0%
src/lexigram/web/middleware/metrics.py InMemoryMetricsCollector.snapshot   1 1 0   0%
src/lexigram/web/middleware/metrics.py InMemoryMetricsCollector.reset   3 3 0   0%
src/lexigram/web/middleware/metrics.py InMemoryMetricsCollector._key   4 4 0   0%
src/lexigram/web/middleware/metrics.py MetricsMiddleware.__init__   4 4 0   0%
src/lexigram/web/middleware/metrics.py MetricsMiddleware.__call__   25 25 0   0%
src/lexigram/web/middleware/metrics.py MetricsMiddleware.__call__.send_wrapper   3 3 0   0%
src/lexigram/web/middleware/metrics.py MetricsMiddleware._normalise_path   9 9 0   0%
src/lexigram/web/middleware/metrics.py (no function)   35 0 8   100%
src/lexigram/web/middleware/rate_limit.py _rate_limit_429_response   3 3 0   0%
src/lexigram/web/middleware/rate_limit.py MemoryLimiter.__init__   4 4 0   0%
src/lexigram/web/middleware/rate_limit.py MemoryLimiter._cleanup_old_requests   4 4 0   0%
src/lexigram/web/middleware/rate_limit.py MemoryLimiter.try_acquire   6 6 0   0%
src/lexigram/web/middleware/rate_limit.py MemoryLimiter.current_requests   2 2 0   0%
src/lexigram/web/middleware/rate_limit.py CacheBackendLimiter.__init__   3 3 0   0%
src/lexigram/web/middleware/rate_limit.py CacheBackendLimiter.try_acquire   11 11 0   0%
src/lexigram/web/middleware/rate_limit.py RateLimiter.__init__   7 7 0   0%
src/lexigram/web/middleware/rate_limit.py RateLimiter.check_rate_limit   35 35 0   0%
src/lexigram/web/middleware/rate_limit.py RateLimiter._get_rate_limit_key   12 12 0   0%
src/lexigram/web/middleware/rate_limit.py RateLimiter._get_client_ip   6 6 0   0%
src/lexigram/web/middleware/rate_limit.py rate_limit   4 4 0   0%
src/lexigram/web/middleware/rate_limit.py rate_limit.decorator   2 2 0   0%
src/lexigram/web/middleware/rate_limit.py rate_limit.decorator.wrapper   16 16 0   0%
src/lexigram/web/middleware/rate_limit.py RateLimitMiddleware.__init__   3 3 0   0%
src/lexigram/web/middleware/rate_limit.py RateLimitMiddleware.__call__   20 20 0   0%
src/lexigram/web/middleware/rate_limit.py RateLimitMiddleware.__call__.send_with_headers   20 20 0   0%
src/lexigram/web/middleware/rate_limit.py (no function)   34 0 2   100%
src/lexigram/web/middleware/registry.py _MiddlewareAdapterProtocol.can_adapt   0 0 1   100%
src/lexigram/web/middleware/registry.py _MiddlewareAdapterProtocol.adapt   0 0 1   100%
src/lexigram/web/middleware/registry.py _StarletteMiddlewareAdapter.can_adapt   1 1 0   0%
src/lexigram/web/middleware/registry.py _StarletteMiddlewareAdapter.adapt   1 1 0   0%
src/lexigram/web/middleware/registry.py _TupleMiddlewareAdapter.can_adapt   1 1 0   0%
src/lexigram/web/middleware/registry.py _TupleMiddlewareAdapter.adapt   3 3 0   0%
src/lexigram/web/middleware/registry.py _DIScopeMiddlewareAdapter.can_adapt   1 1 0   0%
src/lexigram/web/middleware/registry.py _DIScopeMiddlewareAdapter.adapt   1 1 0   0%
src/lexigram/web/middleware/registry.py _HTTPMiddlewareAdapterBase.can_adapt   2 2 0   0%
src/lexigram/web/middleware/registry.py _HTTPMiddlewareAdapterBase.adapt   1 1 0   0%
src/lexigram/web/middleware/registry.py MiddlewareAdapterRegistry.__init__   2 2 0   0%
src/lexigram/web/middleware/registry.py MiddlewareAdapterRegistry._register_defaults   4 4 0   0%
src/lexigram/web/middleware/registry.py MiddlewareAdapterRegistry.add_adapter   1 1 0   0%
src/lexigram/web/middleware/registry.py MiddlewareAdapterRegistry.adapt   5 5 0   0%
src/lexigram/web/middleware/registry.py (no function)   24 0 3   100%
src/lexigram/web/middleware/request_context.py RequestContextMiddleware.__init__   6 6 0   0%
src/lexigram/web/middleware/request_context.py RequestContextMiddleware._resolve_tenant_id   6 6 0   0%
src/lexigram/web/middleware/request_context.py RequestContextMiddleware.__call__   24 24 0   0%
src/lexigram/web/middleware/request_context.py RequestContextMiddleware.__call__.send_wrapper   5 5 0   0%
src/lexigram/web/middleware/request_context.py (no function)   11 0 0   100%
src/lexigram/web/middleware/request_id.py RequestIDMiddleware.__init__   4 4 0   0%
src/lexigram/web/middleware/request_id.py RequestIDMiddleware.__call__   15 15 0   0%
src/lexigram/web/middleware/request_id.py RequestIDMiddleware.__call__.send_with_request_id   5 5 0   0%
src/lexigram/web/middleware/request_id.py get_request_id_from_request   1 1 0   0%
src/lexigram/web/middleware/request_id.py RequestIDLogFilter.__init__   1 1 0   0%
src/lexigram/web/middleware/request_id.py RequestIDLogFilter.filter   3 3 0   0%
src/lexigram/web/middleware/request_id.py configure_logging_with_request_id   3 3 0   0%
src/lexigram/web/middleware/request_id.py (no function)   17 0 0   100%
src/lexigram/web/middleware/role_guard.py RoleResolverProtocol.resolve   0 0 1   100%
src/lexigram/web/middleware/role_guard.py RoleGuardMiddleware.__init__   3 3 0   0%
src/lexigram/web/middleware/role_guard.py RoleGuardMiddleware._match   8 8 0   0%
src/lexigram/web/middleware/role_guard.py RoleGuardMiddleware.__call__   18 18 0   0%
src/lexigram/web/middleware/role_guard.py RoleGuardMiddleware._reject   2 2 0   0%
src/lexigram/web/middleware/role_guard.py (no function)   21 0 2   100%
src/lexigram/web/middleware/sanitization.py _sanitize_value   5 5 0   0%
src/lexigram/web/middleware/sanitization.py InputSanitizationMiddleware.__init__   2 2 0   0%
src/lexigram/web/middleware/sanitization.py InputSanitizationMiddleware.__call__   9 9 0   0%
src/lexigram/web/middleware/sanitization.py InputSanitizationMiddleware._sanitize_query   7 7 0   0%
src/lexigram/web/middleware/sanitization.py (no function)   14 0 0   100%
src/lexigram/web/middleware/security.py SecurityHeadersMiddleware.__init__   8 8 0   0%
src/lexigram/web/middleware/security.py SecurityHeadersMiddleware._build_csp_header   3 3 0   0%
src/lexigram/web/middleware/security.py SecurityHeadersMiddleware._build_hsts_header   6 6 0   0%
src/lexigram/web/middleware/security.py SecurityHeadersMiddleware._build_permissions_policy_header   4 4 0   0%
src/lexigram/web/middleware/security.py SecurityHeadersMiddleware.__call__   5 5 0   0%
src/lexigram/web/middleware/security.py SecurityHeadersMiddleware.__call__.send_wrapper   24 24 0   0%
src/lexigram/web/middleware/security.py create_security_middleware   1 1 0   0%
src/lexigram/web/middleware/security.py create_development_config   1 1 0   0%
src/lexigram/web/middleware/security.py create_production_config   1 1 0   0%
src/lexigram/web/middleware/security.py (no function)   17 0 2   100%
src/lexigram/web/middleware/stack.py DefaultMiddlewareStack.__init__   2 2 0   0%
src/lexigram/web/middleware/stack.py DefaultMiddlewareStack.build   12 12 0   0%
src/lexigram/web/middleware/stack.py (no function)   8 0 4   100%
src/lexigram/web/middleware/static.py StaticFilesMiddleware.__init__   9 9 0   0%
src/lexigram/web/middleware/static.py StaticFilesMiddleware.dispatch   17 17 0   0%
src/lexigram/web/middleware/static.py (no function)   13 0 0   100%
src/lexigram/web/middleware/timing.py TimingMiddleware.__init__   2 2 0   0%
src/lexigram/web/middleware/timing.py TimingMiddleware.__call__   6 6 0   0%
src/lexigram/web/middleware/timing.py TimingMiddleware.__call__.send_with_timing   7 7 0   0%
src/lexigram/web/middleware/timing.py (no function)   7 0 0   100%
src/lexigram/web/middleware/tracing.py extract_traceparent   4 4 0   0%
src/lexigram/web/middleware/tracing.py inject_traceparent   6 6 0   0%
src/lexigram/web/middleware/tracing.py load_trace_to_context   6 6 0   0%
src/lexigram/web/middleware/tracing.py (no function)   9 0 2   100%
src/lexigram/web/middleware/unified.py RequestResponseMiddlewareAdapter.__init__   3 3 0   0%
src/lexigram/web/middleware/unified.py RequestResponseMiddlewareAdapter.__call__   17 17 0   0%
src/lexigram/web/middleware/unified.py RequestResponseMiddlewareAdapter.__call__.send_wrapper   8 8 0   0%
src/lexigram/web/middleware/unified.py RequestResponseMiddlewareAdapter.__call__.SimpleResponse.__init__   3 3 0   0%
src/lexigram/web/middleware/unified.py ASGIMiddlewareAdapter.__init__   1 1 0   0%
src/lexigram/web/middleware/unified.py ASGIMiddlewareAdapter.__call__   1 1 0   0%
src/lexigram/web/middleware/unified.py (no function)   8 0 4   100%
src/lexigram/web/module.py WebModule.configure   18 18 0   0%
src/lexigram/web/module.py WebModule.stub   2 2 0   0%
src/lexigram/web/module.py (no function)   13 0 0   100%
src/lexigram/web/pagination/__init__.py (no function)   3 0 0   100%
src/lexigram/web/pagination/models.py cursor_page_to_response   1 1 0   0%
src/lexigram/web/pagination/models.py paginated   2 2 0   0%
src/lexigram/web/pagination/models.py paginated.decorator   2 2 0   0%
src/lexigram/web/pagination/models.py paginated.decorator.wrapper   11 11 0   0%
src/lexigram/web/pagination/models.py PageRequest.offset   1 1 0   0%
src/lexigram/web/pagination/models.py PageRequest.limit   1 1 0   0%
src/lexigram/web/pagination/models.py Page.__post_init__   1 1 0   0%
src/lexigram/web/pagination/models.py Page.has_next   1 1 0   0%
src/lexigram/web/pagination/models.py Page.has_prev   1 1 0   0%
src/lexigram/web/pagination/models.py Page.next_page   1 1 0   0%
src/lexigram/web/pagination/models.py Page.prev_page   1 1 0   0%
src/lexigram/web/pagination/models.py Page.to_response   1 1 0   0%
src/lexigram/web/pagination/models.py (no function)   35 0 2   100%
src/lexigram/web/pipes/__init__.py (no function)   9 0 0   100%
src/lexigram/web/pipes/builtin/file.py FileSizeValidationPipe.__init__   1 1 0   0%
src/lexigram/web/pipes/builtin/file.py FileSizeValidationPipe.transform   9 9 0   0%
src/lexigram/web/pipes/builtin/file.py FileTypeValidationPipe.__init__   1 1 0   0%
src/lexigram/web/pipes/builtin/file.py FileTypeValidationPipe.transform   12 12 0   0%
src/lexigram/web/pipes/builtin/file.py TrimPipe.transform   5 5 0   0%
src/lexigram/web/pipes/builtin/file.py (no function)   12 0 3   100%
src/lexigram/web/pipes/builtin/parse.py ParseIntPipe.__init__   1 1 0   0%
src/lexigram/web/pipes/builtin/parse.py ParseIntPipe.transform   12 12 0   0%
src/lexigram/web/pipes/builtin/parse.py ParseUUIDPipe.transform   8 8 0   0%
src/lexigram/web/pipes/builtin/parse.py ParseBoolPipe.transform   10 10 0   0%
src/lexigram/web/pipes/builtin/parse.py ParseDatePipe.transform   20 20 0   0%
src/lexigram/web/pipes/builtin/parse.py DefaultValuePipe.__init__   1 1 0   0%
src/lexigram/web/pipes/builtin/parse.py DefaultValuePipe.transform   3 3 0   0%
src/lexigram/web/pipes/builtin/parse.py (no function)   20 0 5   100%
src/lexigram/web/pipes/builtin/validation.py ValidationPipe.__init__   1 1 0   0%
src/lexigram/web/pipes/builtin/validation.py ValidationPipe.transform   34 34 0   0%
src/lexigram/web/pipes/builtin/validation.py (no function)   7 0 1   100%
src/lexigram/web/pipes/decorators.py use_pipes   2 2 1   0%
src/lexigram/web/pipes/decorators.py use_pipes.decorator   9 9 0   0%
src/lexigram/web/pipes/decorators.py (no function)   8 0 0   100%
src/lexigram/web/pipes/pipeline.py PipePipeline.__init__   1 1 0   0%
src/lexigram/web/pipes/pipeline.py PipePipeline.add_pipe   4 4 0   0%
src/lexigram/web/pipes/pipeline.py PipePipeline.remove_pipe   5 5 0   0%
src/lexigram/web/pipes/pipeline.py PipePipeline.get_pipes   1 1 0   0%
src/lexigram/web/pipes/pipeline.py PipePipeline.transform   7 7 0   0%
src/lexigram/web/pipes/pipeline.py PipePipeline.__len__   1 1 0   0%
src/lexigram/web/pipes/pipeline.py (no function)   10 0 2   100%
src/lexigram/web/protocols.py PipeProtocol.transform   0 0 1   100%
src/lexigram/web/protocols.py body   1 1 1   0%
src/lexigram/web/protocols.py CallHandlerProtocol.handle   0 0 1   100%
src/lexigram/web/protocols.py WebInterceptorProtocol.intercept   0 0 1   100%
src/lexigram/web/protocols.py WebInterceptorBase.intercept   1 1 0   0%
src/lexigram/web/protocols.py WebAppAccessorProtocol.starlette   0 0 1   100%
src/lexigram/web/protocols.py ControllerSourceProtocol.controllers   0 0 1   100%
src/lexigram/web/protocols.py ConfigAccessorProtocol.web_config   0 0 1   100%
src/lexigram/web/protocols.py ConfigAccessorProtocol.provider_config   0 0 1   100%
src/lexigram/web/protocols.py ConfigAccessorProtocol.debug_routes_auth   0 0 1   100%
src/lexigram/web/protocols.py ConfigAccessorProtocol.fail_on_route_conflict   0 0 1   100%
src/lexigram/web/protocols.py ProviderResourcesProtocol.router   0 0 1   100%
src/lexigram/web/protocols.py ProviderResourcesProtocol.openapi_generator   0 0 1   100%
src/lexigram/web/protocols.py (no function)   50 0 18   100%
src/lexigram/web/quickstart/__init__.py (no function)   3 0 0   100%
src/lexigram/web/quickstart/core.py singleton   5 5 0   0%
src/lexigram/web/quickstart/core.py injectable   5 5 0   0%
src/lexigram/web/quickstart/core.py _reset_quickstart_registry   7 7 0   0%
src/lexigram/web/quickstart/core.py _QuickstartApp.__init__   8 2 0   75%
src/lexigram/web/quickstart/core.py _QuickstartApp._collect_script_routes   30 30 0   0%
src/lexigram/web/quickstart/core.py _QuickstartApp._collect_script_services   1 1 0   0%
src/lexigram/web/quickstart/core.py _QuickstartApp._ensure_booted   21 21 0   0%
src/lexigram/web/quickstart/core.py _QuickstartApp.__call__   2 2 0   0%
src/lexigram/web/quickstart/core.py (no function)   24 0 2   100%
src/lexigram/web/responses/__init__.py (no function)   3 3 0   0%
src/lexigram/web/responses/adapter.py StarletteResponseAdapter.json   1 1 0   0%
src/lexigram/web/responses/adapter.py StarletteResponseAdapter.html   1 1 0   0%
src/lexigram/web/responses/adapter.py StarletteResponseAdapter.redirect   2 2 0   0%
src/lexigram/web/responses/adapter.py (no function)   8 8 0   0%
src/lexigram/web/routing/__init__.py __dir__   1 1 0   0%
src/lexigram/web/routing/__init__.py __getattr__   4 4 0   0%
src/lexigram/web/routing/__init__.py (no function)   18 0 0   100%
src/lexigram/web/routing/caching.py cache_control   22 22 1   0%
src/lexigram/web/routing/caching.py cache_control.decorator   5 5 0   0%
src/lexigram/web/routing/caching.py cache_control.decorator.wrapper   4 4 0   0%
src/lexigram/web/routing/caching.py etag   5 5 1   0%
src/lexigram/web/routing/caching.py etag.wrapper   12 12 0   0%
src/lexigram/web/routing/caching.py _find_request   7 7 0   0%
src/lexigram/web/routing/caching.py _etag_matches   9 9 0   0%
src/lexigram/web/routing/caching.py (no function)   16 0 1   100%
src/lexigram/web/routing/controller.py GenericController.__init__   4 4 0   0%
src/lexigram/web/routing/controller.py GenericController._get_default_resource_name   1 1 0   0%
src/lexigram/web/routing/controller.py GenericController.resource_name   1 1 0   0%
src/lexigram/web/routing/controller.py GenericController.logger   1 1 0   0%
src/lexigram/web/routing/controller.py GenericController.list_items   5 5 0   0%
src/lexigram/web/routing/controller.py GenericController.get_item   7 7 0   0%
src/lexigram/web/routing/controller.py GenericController.create_item   4 4 0   0%
src/lexigram/web/routing/controller.py GenericController.update_item   7 7 0   0%
src/lexigram/web/routing/controller.py GenericController.delete_item   6 6 0   0%
src/lexigram/web/routing/controller.py (no function)   31 0 0   100%
src/lexigram/web/routing/controller_registry.py ControllerRegistry.__init__   1 0 0   100%
src/lexigram/web/routing/controller_registry.py ControllerRegistry.register   10 10 0   0%
src/lexigram/web/routing/controller_registry.py ControllerRegistry.register.decorator   2 2 0   0%
src/lexigram/web/routing/controller_registry.py ControllerRegistry.get   1 1 0   0%
src/lexigram/web/routing/controller_registry.py ControllerRegistry.list_controllers   1 1 0   0%
src/lexigram/web/routing/controller_registry.py ControllerRegistry.get_all_controllers   1 1 0   0%
src/lexigram/web/routing/controller_registry.py ControllerRegistry.clear   1 0 0   100%
src/lexigram/web/routing/controller_registry.py controller   2 2 0   0%
src/lexigram/web/routing/controller_registry.py controller.decorator   4 4 0   0%
src/lexigram/web/routing/controller_registry.py (no function)   14 0 0   100%
src/lexigram/web/routing/controllers.py Controller.__init__   1 1 0   0%
src/lexigram/web/routing/controllers.py Controller.collect_routes   14 14 0   0%
src/lexigram/web/routing/controllers.py (no function)   6 0 0   100%
src/lexigram/web/routing/cqrs.py CQRSController.__init__   3 3 0   0%
src/lexigram/web/routing/cqrs.py CQRSController.dispatch_command   3 3 0   0%
src/lexigram/web/routing/cqrs.py CQRSController.dispatch_query   3 3 0   0%
src/lexigram/web/routing/cqrs.py (no function)   10 0 0   100%
src/lexigram/web/routing/debug.py _check_debug_auth   21 21 0   0%
src/lexigram/web/routing/debug.py _apply_rate_limit   26 26 0   0%
src/lexigram/web/routing/debug.py register_debug_routes   5 5 0   0%
src/lexigram/web/routing/debug.py register_debug_routes.debug_routes   14 14 0   0%
src/lexigram/web/routing/debug.py _get_client_ip   9 9 0   0%
src/lexigram/web/routing/debug.py _sanitize_origin   9 9 0   0%
src/lexigram/web/routing/debug.py _is_local_ip   5 5 0   0%
src/lexigram/web/routing/debug.py (no function)   12 12 2   0%
src/lexigram/web/routing/decorators.py route   2 0 0   100%
src/lexigram/web/routing/decorators.py route.decorator   2 0 0   100%
src/lexigram/web/routing/decorators.py get   1 0 0   100%
src/lexigram/web/routing/decorators.py post   1 0 0   100%
src/lexigram/web/routing/decorators.py put   1 0 0   100%
src/lexigram/web/routing/decorators.py delete   1 0 0   100%
src/lexigram/web/routing/decorators.py patch   1 1 0   0%
src/lexigram/web/routing/decorators.py head   1 1 0   0%
src/lexigram/web/routing/decorators.py options   1 1 0   0%
src/lexigram/web/routing/decorators.py trace   1 1 0   0%
src/lexigram/web/routing/decorators.py websocket   1 1 0   0%
src/lexigram/web/routing/decorators.py (no function)   14 0 0   100%
src/lexigram/web/routing/discovery.py discover_controllers   11 11 0   0%
src/lexigram/web/routing/discovery.py _scan_subclasses   18 18 0   0%
src/lexigram/web/routing/discovery.py _collect_subclasses   10 10 0   0%
src/lexigram/web/routing/discovery.py (no function)   10 0 0   100%
src/lexigram/web/routing/execution_context.py WebExecutionContext.__init__   6 6 0   0%
src/lexigram/web/routing/execution_context.py WebExecutionContext.request   1 1 0   0%
src/lexigram/web/routing/execution_context.py WebExecutionContext.handler   1 1 0   0%
src/lexigram/web/routing/execution_context.py WebExecutionContext.controller_class   1 1 0   0%
src/lexigram/web/routing/execution_context.py WebExecutionContext.method_name   1 1 0   0%
src/lexigram/web/routing/execution_context.py WebExecutionContext.route_metadata   1 1 0   0%
src/lexigram/web/routing/execution_context.py WebExecutionContext.container   1 1 0   0%
src/lexigram/web/routing/execution_context.py WebExecutionContext.get   1 1 0   0%
src/lexigram/web/routing/execution_context.py WebExecutionContext.set   1 1 0   0%
src/lexigram/web/routing/execution_context.py (no function)   20 0 2   100%
src/lexigram/web/routing/groups.py RouteGroup.__init__   5 5 0   0%
src/lexigram/web/routing/groups.py RouteGroup.apply_guards   2 2 0   0%
src/lexigram/web/routing/groups.py RouteGroup.apply_interceptors   2 2 0   0%
src/lexigram/web/routing/groups.py RouteGroup.finalize   10 10 0   0%
src/lexigram/web/routing/groups.py group   2 2 1   0%
src/lexigram/web/routing/groups.py group.decorator   1 1 0   0%
src/lexigram/web/routing/groups.py (no function)   8 0 3   100%
src/lexigram/web/routing/health.py _resolve_application   6 6 0   0%
src/lexigram/web/routing/health.py _status_code_for   1 1 0   0%
src/lexigram/web/routing/health.py _probe_response   4 4 0   0%
src/lexigram/web/routing/health.py register_health_route   15 15 0   0%
src/lexigram/web/routing/health.py register_health_route.health_handler   19 19 0   0%
src/lexigram/web/routing/health.py register_health_route.liveness_handler   1 1 0   0%
src/lexigram/web/routing/health.py register_health_route.readiness_handler   1 1 0   0%
src/lexigram/web/routing/health.py register_health_route.startup_handler   1 1 0   0%
src/lexigram/web/routing/health.py (no function)   13 13 4   0%
src/lexigram/web/routing/health_checks.py WebHealthChecker.__init__   3 3 0   0%
src/lexigram/web/routing/health_checks.py WebHealthChecker.check_health   10 10 0   0%
src/lexigram/web/routing/health_checks.py WebHealthChecker._check_database   19 19 0   0%
src/lexigram/web/routing/health_checks.py WebHealthChecker._check_redis   19 19 0   0%
src/lexigram/web/routing/health_checks.py WebHealthChecker._determine_overall_status   6 6 0   0%
src/lexigram/web/routing/health_checks.py (no function)   28 0 3   100%
src/lexigram/web/routing/manager.py WebRouterManager.__init__   4 4 0   0%
src/lexigram/web/routing/manager.py WebRouterManager.add_handler   1 1 0   0%
src/lexigram/web/routing/manager.py WebRouterManager._format_route_origin   17 17 0   0%
src/lexigram/web/routing/manager.py WebRouterManager.register_routes   7 7 0   0%
src/lexigram/web/routing/manager.py WebRouterManager.should_enable_debug_routes   3 3 0   0%
src/lexigram/web/routing/manager.py WebRouterManager.add_route   54 54 0   0%
src/lexigram/web/routing/manager.py WebRouterManager.register_controller_routes   15 15 0   0%
src/lexigram/web/routing/manager.py WebRouterManager.generate_openapi_spec   3 3 0   0%
src/lexigram/web/routing/manager.py (no function)   15 0 3   100%
src/lexigram/web/routing/openapi.py register_openapi_routes   13 13 0   0%
src/lexigram/web/routing/openapi.py register_openapi_routes.openapi_json   2 2 0   0%
src/lexigram/web/routing/openapi.py register_openapi_routes.swagger_ui   2 2 0   0%
src/lexigram/web/routing/openapi.py register_openapi_routes.redoc_ui   2 2 0   0%
src/lexigram/web/routing/openapi.py (no function)   4 4 2   0%
src/lexigram/web/routing/openapi_templates.py _fallback_html   4 4 0   0%
src/lexigram/web/routing/openapi_templates.py get_swagger_ui_html   6 6 0   0%
src/lexigram/web/routing/openapi_templates.py get_redoc_html   6 6 0   0%
src/lexigram/web/routing/openapi_templates.py (no function)   8 0 0   100%
src/lexigram/web/routing/parameter_binder.py ParameterBinder.__init__   2 2 0   0%
src/lexigram/web/routing/parameter_binder.py ParameterBinder.bind   47 47 0   0%
src/lexigram/web/routing/parameter_binder.py ParameterBinder._run_pipes   15 15 0   0%
src/lexigram/web/routing/parameter_binder.py ParameterBinder._is_request_type   6 6 0   0%
src/lexigram/web/routing/parameter_binder.py (no function)   14 0 0   100%
src/lexigram/web/routing/parameters.py _create_param_decorator   4 0 0   100%
src/lexigram/web/routing/parameters.py _create_param_decorator.decorator   11 11 0   0%
src/lexigram/web/routing/parameters.py _create_param_decorator.decorator.param_decorator   8 8 0   0%
src/lexigram/web/routing/parameters.py path   1 1 0   0%
src/lexigram/web/routing/parameters.py query   1 0 0   100%
src/lexigram/web/routing/parameters.py body   1 1 0   0%
src/lexigram/web/routing/parameters.py header   1 0 0   100%
src/lexigram/web/routing/parameters.py cookie   1 0 0   100%
src/lexigram/web/routing/parameters.py form   1 0 0   100%
src/lexigram/web/routing/parameters.py file   1 1 0   0%
src/lexigram/web/routing/parameters.py (no function)   12 0 0   100%
src/lexigram/web/routing/pipeline.py RequestPipeline.__init__   5 5 0   0%
src/lexigram/web/routing/pipeline.py RequestPipeline.execute   26 26 0   0%
src/lexigram/web/routing/pipeline.py RequestPipeline.execute.final_handler   11 11 0   0%
src/lexigram/web/routing/pipeline.py (no function)   7 0 7   100%
src/lexigram/web/routing/registry.py RouteRegistry.__init__   3 0 0   100%
src/lexigram/web/routing/registry.py RouteRegistry.register_controller   9 9 0   0%
src/lexigram/web/routing/registry.py RouteRegistry._register_route   27 27 0   0%
src/lexigram/web/routing/registry.py RouteRegistry.get_all_routes   1 1 0   0%
src/lexigram/web/routing/registry.py RouteRegistry.get_controllers   1 1 0   0%
src/lexigram/web/routing/registry.py RouteRegistry.find_route   4 4 0   0%
src/lexigram/web/routing/registry.py RouteRegistry.get_routes_by_controller   6 6 0   0%
src/lexigram/web/routing/registry.py RouteRegistry.clear   2 0 0   100%
src/lexigram/web/routing/registry.py register_controller   2 2 0   0%
src/lexigram/web/routing/registry.py get_route_registry   1 1 0   0%
src/lexigram/web/routing/registry.py (no function)   19 0 2   100%
src/lexigram/web/routing/result_bridge.py _serialize_details   8 8 0   0%
src/lexigram/web/routing/result_bridge.py _get_status   6 6 0   0%
src/lexigram/web/routing/result_bridge.py _exception_type_urn   7 7 0   0%
src/lexigram/web/routing/result_bridge.py ResultResponseMapper.to_response   6 6 0   0%
src/lexigram/web/routing/result_bridge.py ResultResponseMapper.register   1 1 0   0%
src/lexigram/web/routing/result_bridge.py ResultResponseMapper.error_to_response   17 17 0   0%
src/lexigram/web/routing/result_bridge.py error_status   2 2 1   0%
src/lexigram/web/routing/result_bridge.py error_status.decorator   2 2 0   0%
src/lexigram/web/routing/result_bridge.py (no function)   17 0 2   100%
src/lexigram/web/routing/route_handlers.py RouteHandlerProtocol.register   0 0 1   100%
src/lexigram/web/routing/route_handlers.py _is_body_model   13 13 0   0%
src/lexigram/web/routing/route_handlers.py _wrap_script_handler   6 6 0   0%
src/lexigram/web/routing/route_handlers.py _wrap_script_handler.endpoint   67 67 0   0%
src/lexigram/web/routing/route_handlers.py _wrap_websocket_handler   3 3 0   0%
src/lexigram/web/routing/route_handlers.py _wrap_websocket_handler.endpoint   12 12 0   0%
src/lexigram/web/routing/route_handlers.py CoreRouteHandler.register   29 29 0   0%
src/lexigram/web/routing/route_handlers.py ControllerRouteHandler.register   23 23 0   0%
src/lexigram/web/routing/route_handlers.py OpenAPIRouteHandler.register   5 5 0   0%
src/lexigram/web/routing/route_handlers.py HealthRouteHandler.register   2 2 0   0%
src/lexigram/web/routing/route_handlers.py DebugRouteHandler.register   3 3 0   0%
src/lexigram/web/routing/route_handlers.py RouteHandlerRegistry.__init__   1 1 0   0%
src/lexigram/web/routing/route_handlers.py RouteHandlerRegistry.add_handler   1 1 0   0%
src/lexigram/web/routing/route_handlers.py RouteHandlerRegistry.handlers   1 1 0   0%
src/lexigram/web/routing/route_handlers.py (no function)   25 0 6   100%
src/lexigram/web/routing/router.py _cached_get_type_hints   11 11 0   0%
src/lexigram/web/routing/router.py Router.__init__   10 10 0   0%
src/lexigram/web/routing/router.py Router.get_route_by_name   1 1 0   0%
src/lexigram/web/routing/router.py Router.clear_cache   2 2 0   0%
src/lexigram/web/routing/router.py Router._get_handler_signature   23 23 0   0%
src/lexigram/web/routing/router.py Router._set_container   7 7 0   0%
src/lexigram/web/routing/router.py Router._preload_controller   25 25 0   0%
src/lexigram/web/routing/router.py Router._create_endpoint   8 8 0   0%
src/lexigram/web/routing/router.py Router._create_endpoint.endpoint   23 23 0   0%
src/lexigram/web/routing/router.py Router._get_route_for_handler   1 1 0   0%
src/lexigram/web/routing/router.py Router.add_route   8 8 0   0%
src/lexigram/web/routing/router.py (no function)   31 0 0   100%
src/lexigram/web/routing/types.py RoutableProtocol.__call__   0 0 1   100%
src/lexigram/web/routing/types.py (no function)   7 0 2   100%
src/lexigram/web/routing/validation.py _create_validation_model   5 5 0   0%
src/lexigram/web/routing/validation.py _cached_get_type_hints_for_handler   12 12 0   0%
src/lexigram/web/routing/validation.py _get_cached_query_model   3 3 0   0%
src/lexigram/web/routing/validation.py _set_cached_query_model   2 2 0   0%
src/lexigram/web/routing/validation.py _get_cached_combined_model   3 3 0   0%
src/lexigram/web/routing/validation.py _set_cached_combined_model   2 2 0   0%
src/lexigram/web/routing/validation.py _is_simple_type   8 8 0   0%
src/lexigram/web/routing/validation.py get_or_build_query_model   28 28 0   0%
src/lexigram/web/routing/validation.py validate_query_params   7 7 0   0%
src/lexigram/web/routing/validation.py get_or_build_combined_model   59 59 0   0%
src/lexigram/web/routing/validation.py validate_and_merge_request   123 123 0   0%
src/lexigram/web/routing/validation.py (no function)   22 22 0   0%
src/lexigram/web/routing/versioning.py VersionExtractor.__init__   1 1 0   0%
src/lexigram/web/routing/versioning.py VersionExtractor.extract   7 7 0   0%
src/lexigram/web/routing/versioning.py VersionExtractor._extract_from_header   2 2 0   0%
src/lexigram/web/routing/versioning.py VersionExtractor._extract_from_uri   6 6 0   0%
src/lexigram/web/routing/versioning.py VersionExtractor._extract_from_media_type   7 7 0   0%
src/lexigram/web/routing/versioning.py VersionExtractor._extract_from_query   2 2 0   0%
src/lexigram/web/routing/versioning.py version   2 2 1   0%
src/lexigram/web/routing/versioning.py version.decorator   2 2 0   0%
src/lexigram/web/routing/versioning.py VersioningMiddleware.__init__   2 2 0   0%
src/lexigram/web/routing/versioning.py VersioningMiddleware.__call__   3 3 0   0%
src/lexigram/web/routing/versioning.py get_version   1 1 0   0%
src/lexigram/web/routing/versioning.py ApiVersionMetadata.url_prefix   3 3 0   0%
src/lexigram/web/routing/versioning.py api_version   3 3 0   0%
src/lexigram/web/routing/versioning.py api_version.decorator   8 8 0   0%
src/lexigram/web/routing/versioning.py (no function)   44 0 4   100%
src/lexigram/web/security/__init__.py (no function)   9 0 0   100%
src/lexigram/web/security/config/__init__.py (no function)   8 0 0   100%
src/lexigram/web/security/config/cors.py CORSConfig._normalize_origins   9 9 0   0%
src/lexigram/web/security/config/cors.py CORSConfig._validate_credentials_with_wildcard   3 3 0   0%
src/lexigram/web/security/config/cors.py CORSConfig.allow_origins   1 1 0   0%
src/lexigram/web/security/config/cors.py CORSConfig.to_middleware_kwargs   1 1 0   0%
src/lexigram/web/security/config/cors.py CORSConfig.validate_for_environment   6 6 0   0%
src/lexigram/web/security/config/cors.py (no function)   26 0 0   100%
src/lexigram/web/security/config/csp.py CSPConfig._merge_default_directives   4 4 0   0%
src/lexigram/web/security/config/csp.py CSPConfig.build_header   10 10 0   0%
src/lexigram/web/security/config/csp.py (no function)   13 0 0   100%
src/lexigram/web/security/config/csrf.py CSRFConfig._coerce_secret_key   3 3 0   0%
src/lexigram/web/security/config/csrf.py CSRFConfig.validate_for_environment   8 8 0   0%
src/lexigram/web/security/config/csrf.py (no function)   26 0 0   100%
src/lexigram/web/security/config/headers.py SecurityHeadersConfig.validate_for_environment   6 6 0   0%
src/lexigram/web/security/config/headers.py (no function)   29 0 0   100%
src/lexigram/web/security/config/top_level.py SecurityConfig.validate_for_environment   5 5 0   0%
src/lexigram/web/security/config/top_level.py SecurityConfig._sync_csrf_enable_flag   3 3 0   0%
src/lexigram/web/security/config/top_level.py (no function)   29 0 0   100%
src/lexigram/web/security/context.py SecurityContext.is_authenticated   1 1 0   0%
src/lexigram/web/security/context.py SecurityContext.has_role   1 1 0   0%
src/lexigram/web/security/context.py SecurityContext.has_permission   1 1 0   0%
src/lexigram/web/security/context.py SecurityContext.has_any_role   1 1 0   0%
src/lexigram/web/security/context.py SecurityContext.has_all_roles   1 1 0   0%
src/lexigram/web/security/context.py get_security_context   4 4 0   0%
src/lexigram/web/security/context.py (no function)   17 0 2   100%
src/lexigram/web/security/cors/__init__.py (no function)   4 0 0   100%
src/lexigram/web/security/cors/middleware.py CORSMiddleware.__init__   4 4 0   0%
src/lexigram/web/security/cors/middleware.py CORSMiddleware._build_preflight_headers   7 7 0   0%
src/lexigram/web/security/cors/middleware.py CORSMiddleware._is_origin_allowed   6 6 0   0%
src/lexigram/web/security/cors/middleware.py CORSMiddleware._get_cors_headers   15 15 0   0%
src/lexigram/web/security/cors/middleware.py CORSMiddleware.__call__   26 26 0   0%
src/lexigram/web/security/cors/middleware.py CORSMiddleware.__call__.send_with_cors   8 8 0   0%
src/lexigram/web/security/cors/middleware.py CORSMiddlewareFactory.__init__   1 1 0   0%
src/lexigram/web/security/cors/middleware.py CORSMiddlewareFactory.__call__   1 1 0   0%
src/lexigram/web/security/cors/middleware.py (no function)   17 0 2   100%
src/lexigram/web/security/csp/__init__.py (no function)   4 0 0   100%
src/lexigram/web/security/csp/builder.py CSPPolicy.build   10 10 0   0%
src/lexigram/web/security/csp/builder.py CSPPolicy.get_header_name   1 1 0   0%
src/lexigram/web/security/csp/builder.py CSPPolicy.strict   1 1 0   0%
src/lexigram/web/security/csp/builder.py CSPPolicy.relaxed   1 1 0   0%
src/lexigram/web/security/csp/builder.py CSPPolicy.api_only   1 1 0   0%
src/lexigram/web/security/csp/builder.py (no function)   26 0 0   100%
src/lexigram/web/security/csrf/__init__.py (no function)   4 0 0   100%
src/lexigram/web/security/csrf/middleware.py _b64decode   1 1 0   0%
src/lexigram/web/security/csrf/middleware.py CSRFProtectionMiddleware.__init__   5 5 0   0%
src/lexigram/web/security/csrf/middleware.py CSRFProtectionMiddleware._build_signed_token   14 14 0   0%
src/lexigram/web/security/csrf/middleware.py CSRFProtectionMiddleware._parse_token   9 9 0   0%
src/lexigram/web/security/csrf/middleware.py CSRFProtectionMiddleware._is_stale   4 4 0   0%
src/lexigram/web/security/csrf/middleware.py CSRFProtectionMiddleware._expected_signature   4 4 0   0%
src/lexigram/web/security/csrf/middleware.py CSRFProtectionMiddleware._cache_key   1 1 0   0%
src/lexigram/web/security/csrf/middleware.py CSRFProtectionMiddleware._is_excluded   1 1 0   0%
src/lexigram/web/security/csrf/middleware.py CSRFProtectionMiddleware._parse_cookies   9 9 0   0%
src/lexigram/web/security/csrf/middleware.py CSRFProtectionMiddleware._get_header   5 5 0   0%
src/lexigram/web/security/csrf/middleware.py CSRFProtectionMiddleware.__call__   12 12 0   0%
src/lexigram/web/security/csrf/middleware.py CSRFProtectionMiddleware._handle_safe_method   23 23 0   0%
src/lexigram/web/security/csrf/middleware.py CSRFProtectionMiddleware._handle_safe_method.send_with_cookie   16 16 0   0%
src/lexigram/web/security/csrf/middleware.py CSRFProtectionMiddleware._handle_unsafe_method   50 50 0   0%
src/lexigram/web/security/csrf/middleware.py CSRFProtectionMiddleware._reject   4 4 0   0%
src/lexigram/web/security/csrf/middleware.py (no function)   29 0 3   100%
src/lexigram/web/security/guards.py _extract_request   3 3 0   0%
src/lexigram/web/security/guards.py AuthGuard.can_activate   3 3 0   0%
src/lexigram/web/security/guards.py RoleGuard.__init__   2 2 0   0%
src/lexigram/web/security/guards.py RoleGuard.can_activate   5 5 0   0%
src/lexigram/web/security/guards.py PermissionGuard.__init__   2 2 0   0%
src/lexigram/web/security/guards.py PermissionGuard.can_activate   11 11 0   0%
src/lexigram/web/security/guards.py use_guards   2 2 1   0%
src/lexigram/web/security/guards.py use_guards.decorator   11 11 0   0%
src/lexigram/web/security/guards.py use_guards.decorator.wrapper   13 13 0   0%
src/lexigram/web/security/guards.py execute_guards   5 5 0   0%
src/lexigram/web/security/guards.py require_admin   6 6 1   0%
src/lexigram/web/security/guards.py (no function)   30 0 2   100%
src/lexigram/web/security/sanitization/__init__.py (no function)   3 0 0   100%
src/lexigram/web/security/sanitization/header.py HeaderSanitizer.sanitize_header_value   6 6 0   0%
src/lexigram/web/security/sanitization/header.py (no function)   8 0 0   100%
src/lexigram/web/security/shortcuts.py guard   1 1 1   0%
src/lexigram/web/security/shortcuts.py roles   3 3 1   0%
src/lexigram/web/security/shortcuts.py (no function)   6 6 1   0%
src/lexigram/web/serialization/__init__.py (no function)   4 0 0   100%
src/lexigram/web/serialization/negotiator.py ContentNegotiator.__init__   17 17 0   0%
src/lexigram/web/serialization/negotiator.py ContentNegotiator.add_serializer   2 2 0   0%
src/lexigram/web/serialization/negotiator.py ContentNegotiator.negotiate   28 28 0   0%
src/lexigram/web/serialization/negotiator.py ContentNegotiator.serialize   2 2 0   0%
src/lexigram/web/serialization/negotiator.py get_negotiator   7 7 0   0%
src/lexigram/web/serialization/negotiator.py (no function)   11 0 3   100%
src/lexigram/web/serialization/serializers.py AbstractMediaSerializer.supports   0 0 1   100%
src/lexigram/web/serialization/serializers.py AbstractMediaSerializer.supported_types   0 0 1   100%
src/lexigram/web/serialization/serializers.py AbstractMediaSerializer.serialize   0 0 1   100%
src/lexigram/web/serialization/serializers.py JSONSerializer.supports   1 1 0   0%
src/lexigram/web/serialization/serializers.py JSONSerializer.supported_types   1 1 0   0%
src/lexigram/web/serialization/serializers.py JSONSerializer.serialize   2 2 0   0%
src/lexigram/web/serialization/serializers.py HTMLSerializer.supports   1 1 0   0%
src/lexigram/web/serialization/serializers.py HTMLSerializer.supported_types   1 1 0   0%
src/lexigram/web/serialization/serializers.py HTMLSerializer.serialize   4 4 0   0%
src/lexigram/web/serialization/serializers.py PlainTextSerializer.supports   1 1 0   0%
src/lexigram/web/serialization/serializers.py PlainTextSerializer.supported_types   1 1 0   0%
src/lexigram/web/serialization/serializers.py PlainTextSerializer.serialize   3 3 0   0%
src/lexigram/web/serialization/serializers.py XMLSerializer.supports   1 1 0   0%
src/lexigram/web/serialization/serializers.py XMLSerializer.supported_types   1 1 0   0%
src/lexigram/web/serialization/serializers.py XMLSerializer.serialize   3 3 0   0%
src/lexigram/web/serialization/serializers.py ResponseSerializer.__init__   3 3 0   0%
src/lexigram/web/serialization/serializers.py ResponseSerializer._get_registry   6 6 0   0%
src/lexigram/web/serialization/serializers.py ResponseSerializer.negotiate   10 10 0   0%
src/lexigram/web/serialization/serializers.py ResponseSerializer.serialize   62 62 0   0%
src/lexigram/web/serialization/serializers.py (no function)   36 0 8   100%
src/lexigram/web/server/__init__.py (no function)   5 0 0   100%
src/lexigram/web/server/lifecycle.py ServerLifecycle.__init__   2 2 0   0%
src/lexigram/web/server/lifecycle.py ServerLifecycle.start   0 0 0   100%
src/lexigram/web/server/lifecycle.py ServerLifecycle.stop   3 3 0   0%
src/lexigram/web/server/lifecycle.py (no function)   7 0 0   100%
src/lexigram/web/server/reload.py HotReloadManager.__init__   5 5 0   0%
src/lexigram/web/server/reload.py HotReloadManager.start   2 2 0   0%
src/lexigram/web/server/reload.py HotReloadManager.stop   4 4 0   0%
src/lexigram/web/server/reload.py HotReloadManager._watch_loop   10 10 0   0%
src/lexigram/web/server/reload.py HotReloadManager._check_file   8 8 0   0%
src/lexigram/web/server/reload.py HotReloadManager._trigger_reload   5 5 0   0%
src/lexigram/web/server/reload.py HotReloadManager.add_watch_path   2 2 0   0%
src/lexigram/web/server/reload.py create_hot_reload_middleware   4 4 0   0%
src/lexigram/web/server/reload.py create_hot_reload_middleware.HotReloadMiddleware.__init__   2 2 0   0%
src/lexigram/web/server/reload.py create_hot_reload_middleware.HotReloadMiddleware.__call__   5 5 0   0%
src/lexigram/web/server/reload.py create_hot_reload_middleware.HotReloadMiddleware.__call__.on_startup   1 1 0   0%
src/lexigram/web/server/reload.py create_hot_reload_middleware.HotReloadMiddleware.__call__.on_shutdown   1 1 0   0%
src/lexigram/web/server/reload.py (no function)   15 0 2   100%
src/lexigram/web/server/runner.py _to_import_string   10 10 0   0%
src/lexigram/web/server/runner.py run_server   4 4 0   0%
src/lexigram/web/server/runner.py _run_granian   8 8 0   0%
src/lexigram/web/server/runner.py run_server_async   5 5 0   0%
src/lexigram/web/server/runner.py _run_uvicorn   8 8 0   0%
src/lexigram/web/server/runner.py (no function)   10 0 0   100%
src/lexigram/web/server/shutdown.py GracefulShutdownManager.__init__   4 4 0   0%
src/lexigram/web/server/shutdown.py GracefulShutdownManager.is_shutting_down   1 1 0   0%
src/lexigram/web/server/shutdown.py GracefulShutdownManager.active_connections   1 1 0   0%
src/lexigram/web/server/shutdown.py GracefulShutdownManager.wait_for_drain   6 6 0   0%
src/lexigram/web/server/shutdown.py GracefulShutdownManager.begin_shutdown   4 4 0   0%
src/lexigram/web/server/shutdown.py GracefulShutdownManager.complete_shutdown   2 2 0   0%
src/lexigram/web/server/shutdown.py GracefulShutdownManager.track_connection   7 7 0   0%
src/lexigram/web/server/shutdown.py GracefulShutdownManager.serve_503_during_drain   2 2 0   0%
src/lexigram/web/server/shutdown.py ShutdownMiddleware.__init__   2 2 0   0%
src/lexigram/web/server/shutdown.py ShutdownMiddleware.__call__   9 9 0   0%
src/lexigram/web/server/shutdown.py (no function)   19 0 2   100%
src/lexigram/web/sse/__init__.py (no function)   7 0 0   100%
src/lexigram/web/sse/backpressure.py SSEBackpressureHandler.__init__   3 3 0   0%
src/lexigram/web/sse/backpressure.py SSEBackpressureHandler.queue   3 3 0   0%
src/lexigram/web/sse/backpressure.py SSEBackpressureHandler.send   10 10 0   0%
src/lexigram/web/sse/backpressure.py SSEBackpressureHandler.wait_for_space   5 5 0   0%
src/lexigram/web/sse/backpressure.py SSEBackpressureHandler.close   1 1 0   0%
src/lexigram/web/sse/backpressure.py SSEBackpressureHandler.events   7 7 0   0%
src/lexigram/web/sse/backpressure.py SSERetryTracker.__init__   3 3 0   0%
src/lexigram/web/sse/backpressure.py SSERetryTracker.last_event_id   1 1 0   0%
src/lexigram/web/sse/backpressure.py SSERetryTracker.set_last_event_id   1 1 0   0%
src/lexigram/web/sse/backpressure.py SSERetryTracker.record_event   5 5 0   0%
src/lexigram/web/sse/backpressure.py SSERetryTracker.get_events_after   9 9 0   0%
src/lexigram/web/sse/backpressure.py SSEConnectionEvents.__init__   3 3 0   0%
src/lexigram/web/sse/backpressure.py SSEConnectionEvents.fire_connect   4 4 0   0%
src/lexigram/web/sse/backpressure.py SSEConnectionEvents.fire_disconnect   4 4 0   0%
src/lexigram/web/sse/backpressure.py SSEConnectionEvents.fire_error   4 4 0   0%
src/lexigram/web/sse/backpressure.py SSEResponse.__init__   8 8 0   0%
src/lexigram/web/sse/backpressure.py SSEResponse.stream   33 33 0   0%
src/lexigram/web/sse/backpressure.py SSEResponse.to_response   1 1 0   0%
src/lexigram/web/sse/backpressure.py (no function)   28 0 2   100%
src/lexigram/web/sse/decorators.py sse_endpoint   2 2 0   0%
src/lexigram/web/sse/decorators.py sse_endpoint.decorator   8 8 0   0%
src/lexigram/web/sse/decorators.py (no function)   4 0 0   100%
src/lexigram/web/sse/handler.py AbstractSSEHandler.__init__   1 1 0   0%
src/lexigram/web/sse/handler.py AbstractSSEHandler._get_connection_lock   3 3 0   0%
src/lexigram/web/sse/handler.py AbstractSSEHandler.stream   0 0 1   100%
src/lexigram/web/sse/handler.py AbstractSSEHandler.on_connect   0 0 0   100%
src/lexigram/web/sse/handler.py AbstractSSEHandler.on_disconnect   0 0 0   100%
src/lexigram/web/sse/handler.py AbstractSSEHandler.add   3 3 0   0%
src/lexigram/web/sse/handler.py AbstractSSEHandler.remove   3 3 0   0%
src/lexigram/web/sse/handler.py AbstractSSEHandler.broadcast   1 1 0   0%
src/lexigram/web/sse/handler.py AbstractSSEHandler.count   1 1 0   0%
src/lexigram/web/sse/handler.py AbstractSSEHandler._create_event_generator   12 12 0   0%
src/lexigram/web/sse/handler.py AbstractSSEHandler.create_event   4 4 0   0%
src/lexigram/web/sse/handler.py AbstractSSEHandler.handle   7 7 0   0%
src/lexigram/web/sse/handler.py AbstractSSEHandler.handle._guarded_generator   4 4 0   0%
src/lexigram/web/sse/handler.py (no function)   34 0 0   100%
src/lexigram/web/sse/heartbeat.py SSEHeartbeatScheduler.__init__   7 7 0   0%
src/lexigram/web/sse/heartbeat.py SSEHeartbeatScheduler.start   4 4 0   0%
src/lexigram/web/sse/heartbeat.py SSEHeartbeatScheduler.stop   8 8 0   0%
src/lexigram/web/sse/heartbeat.py SSEHeartbeatScheduler.register   5 5 0   0%
src/lexigram/web/sse/heartbeat.py SSEHeartbeatScheduler.unregister   3 3 0   0%
src/lexigram/web/sse/heartbeat.py SSEHeartbeatScheduler._loop   15 15 0   0%
src/lexigram/web/sse/heartbeat.py SSEHeartbeatScheduler.active_connections   1 1 0   0%
src/lexigram/web/sse/heartbeat.py get_heartbeat_scheduler   4 4 0   0%
src/lexigram/web/sse/heartbeat.py (no function)   20 0 0   100%
src/lexigram/web/static/__init__.py (no function)   3 0 0   100%
src/lexigram/web/static/provider.py StaticFileProvider.__init__   3 3 0   0%
src/lexigram/web/static/provider.py StaticFileProvider.create_middleware   1 1 0   0%
src/lexigram/web/static/provider.py (no function)   4 0 0   100%
src/lexigram/web/templates/__init__.py (no function)   3 0 0   100%
src/lexigram/web/templates/core.py Jinja2Templates.__init__   9 9 0   0%
src/lexigram/web/templates/core.py Jinja2Templates._add_default_filters   4 4 0   0%
src/lexigram/web/templates/core.py Jinja2Templates._add_default_filters.tojson   6 6 0   0%
src/lexigram/web/templates/core.py Jinja2Templates._add_default_filters.format_datetime   13 13 0   0%
src/lexigram/web/templates/core.py Jinja2Templates._add_default_globals   2 2 0   0%
src/lexigram/web/templates/core.py Jinja2Templates.get_template   1 1 0   0%
src/lexigram/web/templates/core.py Jinja2Templates.render_template   6 6 0   0%
src/lexigram/web/templates/core.py Jinja2Templates.render_response   2 2 0   0%
src/lexigram/web/templates/core.py TemplateResponse.__init__   2 2 0   0%
src/lexigram/web/templates/core.py render_template   3 3 0   0%
src/lexigram/web/templates/core.py template_response   3 3 0   0%
src/lexigram/web/templates/core.py (no function)   26 4 0   85%
src/lexigram/web/transport/__init__.py __getattr__   8 8 0   0%
src/lexigram/web/transport/__init__.py __dir__   1 1 0   0%
src/lexigram/web/transport/__init__.py (no function)   6 0 6   100%
src/lexigram/web/transport/reactive.py sse_from_stream   2 2 0   0%
src/lexigram/web/transport/reactive.py sse_from_stream._items   22 22 0   0%
src/lexigram/web/transport/reactive.py sse_from_stream._items._drain   5 5 0   0%
src/lexigram/web/transport/reactive.py (no function)   8 0 0   100%
src/lexigram/web/transport/responses.py FastJSONResponse.render   3 3 0   0%
src/lexigram/web/transport/responses.py HTMXResponse.__init__   12 12 0   0%
src/lexigram/web/transport/responses.py json_response   1 1 0   0%
src/lexigram/web/transport/responses.py html_response   1 1 0   0%
src/lexigram/web/transport/responses.py file_response   1 1 0   0%
src/lexigram/web/transport/responses.py streaming_response   1 1 0   0%
src/lexigram/web/transport/responses.py redirect_response   1 1 0   0%
src/lexigram/web/transport/responses.py (no function)   31 0 0   100%
src/lexigram/web/transport/sse.py ServerSentEvent.__init__   5 5 0   0%
src/lexigram/web/transport/sse.py ServerSentEvent.encode   17 17 0   0%
src/lexigram/web/transport/sse.py EventSourceResponse.__init__   4 4 0   0%
src/lexigram/web/transport/sse.py EventSourceResponse.__init__.event_generator   2 2 0   0%
src/lexigram/web/transport/sse.py sse_response   1 1 0   0%
src/lexigram/web/transport/sse.py (no function)   11 0 0   100%
src/lexigram/web/transport/websocket_guards.py execute_websocket_guards   6 6 0   0%
src/lexigram/web/transport/websocket_guards.py GuardedWebSocket.__init__   3 3 0   0%
src/lexigram/web/transport/websocket_guards.py GuardedWebSocket.accept   6 6 0   0%
src/lexigram/web/transport/websocket_guards.py GuardedWebSocket.send_text   1 1 0   0%
src/lexigram/web/transport/websocket_guards.py GuardedWebSocket.send_bytes   1 1 0   0%
src/lexigram/web/transport/websocket_guards.py GuardedWebSocket.send_json   1 1 0   0%
src/lexigram/web/transport/websocket_guards.py GuardedWebSocket.receive_text   1 1 0   0%
src/lexigram/web/transport/websocket_guards.py GuardedWebSocket.receive_bytes   1 1 0   0%
src/lexigram/web/transport/websocket_guards.py GuardedWebSocket.receive_json   1 1 0   0%
src/lexigram/web/transport/websocket_guards.py GuardedWebSocket.close   1 1 0   0%
src/lexigram/web/transport/websocket_guards.py GuardedWebSocket.client_state   1 1 0   0%
src/lexigram/web/transport/websocket_guards.py GuardedWebSocket.application_state   1 1 0   0%
src/lexigram/web/transport/websocket_guards.py (no function)   20 0 4   100%
src/lexigram/web/transport/websockets.py WebSocket.__init__   1 1 0   0%
src/lexigram/web/transport/websockets.py WebSocket.accept   1 1 0   0%
src/lexigram/web/transport/websockets.py WebSocket.close   1 1 0   0%
src/lexigram/web/transport/websockets.py WebSocket.receive_text   1 1 0   0%
src/lexigram/web/transport/websockets.py WebSocket.receive_json   1 1 0   0%
src/lexigram/web/transport/websockets.py WebSocket.send_text   1 1 0   0%
src/lexigram/web/transport/websockets.py WebSocket.send_json   1 1 0   0%
src/lexigram/web/transport/websockets.py WebSocket.send_bytes   1 1 0   0%
src/lexigram/web/transport/websockets.py WebSocket.state   1 1 0   0%
src/lexigram/web/transport/websockets.py (no function)   14 0 0   100%
src/lexigram/web/types.py PipeBase.transform   1 1 0   0%
src/lexigram/web/types.py (no function)   47 0 0   100%
src/lexigram/web/uploads/__init__.py (no function)   3 0 0   100%
src/lexigram/web/uploads/pipeline.py FileUpload.extension   1 1 0   0%
src/lexigram/web/uploads/pipeline.py FileUpload.name_without_extension   1 1 0   0%
src/lexigram/web/uploads/pipeline.py FileUpload.read   1 1 0   0%
src/lexigram/web/uploads/pipeline.py FileUpload.save_to   10 10 0   0%
src/lexigram/web/uploads/pipeline.py FileUpload.stream_to   13 13 0   0%
src/lexigram/web/uploads/pipeline.py AbstractFileValidator.validate   0 0 0   100%
src/lexigram/web/uploads/pipeline.py FileSizeValidator.__init__   1 1 0   0%
src/lexigram/web/uploads/pipeline.py FileSizeValidator.validate   3 3 0   0%
src/lexigram/web/uploads/pipeline.py FileTypeValidator.__init__   1 1 0   0%
src/lexigram/web/uploads/pipeline.py FileTypeValidator.validate   3 3 0   0%
src/lexigram/web/uploads/pipeline.py FileExtensionValidator.__init__   1 1 0   0%
src/lexigram/web/uploads/pipeline.py FileExtensionValidator.validate   3 3 0   0%
src/lexigram/web/uploads/pipeline.py FileUploadPipeline.__init__   1 1 0   0%
src/lexigram/web/uploads/pipeline.py FileUploadPipeline.add_validator   2 2 0   0%
src/lexigram/web/uploads/pipeline.py FileUploadPipeline.process   5 5 0   0%
src/lexigram/web/uploads/pipeline.py FileUploadPipeline.process_multiple   4 4 0   0%
src/lexigram/web/uploads/pipeline.py (no function)   41 0 2   100%
src/lexigram/web/websocket/__init__.py (no function)   9 0 0   100%
src/lexigram/web/websocket/connection_id.py ConnectionIDManager.__init__   2 2 0   0%
src/lexigram/web/websocket/connection_id.py ConnectionIDManager.get_or_create   3 3 0   0%
src/lexigram/web/websocket/connection_id.py ConnectionIDManager.get   1 1 0   0%
src/lexigram/web/websocket/connection_id.py (no function)   10 0 2   100%
src/lexigram/web/websocket/decorators.py websocket_handler   2 2 0   0%
src/lexigram/web/websocket/decorators.py websocket_handler.decorator   10 10 0   0%
src/lexigram/web/websocket/decorators.py (no function)   4 0 0   100%
src/lexigram/web/websocket/gateway.py subscribe_message   2 2 1   0%
src/lexigram/web/websocket/gateway.py subscribe_message.decorator   3 3 0   0%
src/lexigram/web/websocket/gateway.py on_connect   2 2 0   0%
src/lexigram/web/websocket/gateway.py on_disconnect   2 2 0   0%
src/lexigram/web/websocket/gateway.py on_error   2 2 0   0%
src/lexigram/web/websocket/gateway.py WebSocketGateway.__init_subclass__   25 25 0   0%
src/lexigram/web/websocket/gateway.py WebSocketGateway.__init__   2 2 0   0%
src/lexigram/web/websocket/gateway.py WebSocketGateway.on_connect   4 4 0   0%
src/lexigram/web/websocket/gateway.py WebSocketGateway.on_disconnect   3 3 0   0%
src/lexigram/web/websocket/gateway.py WebSocketGateway.on_error   4 4 0   0%
src/lexigram/web/websocket/gateway.py WebSocketGateway.on_message   11 11 0   0%
src/lexigram/web/websocket/gateway.py WebSocketGateway.on_unhandled_message   2 2 0   0%
src/lexigram/web/websocket/gateway.py websocket_gateway   2 2 1   0%
src/lexigram/web/websocket/gateway.py websocket_gateway.decorator   11 11 0   0%
src/lexigram/web/websocket/gateway.py (no function)   29 0 2   100%
src/lexigram/web/websocket/handler.py AbstractWebSocketHandler.__init__   4 4 0   0%
src/lexigram/web/websocket/handler.py AbstractWebSocketHandler.on_connect   0 0 0   100%
src/lexigram/web/websocket/handler.py AbstractWebSocketHandler.on_message   0 0 0   100%
src/lexigram/web/websocket/handler.py AbstractWebSocketHandler.on_disconnect   0 0 0   100%
src/lexigram/web/websocket/handler.py AbstractWebSocketHandler.on_error   4 4 0   0%
src/lexigram/web/websocket/handler.py AbstractWebSocketHandler.send_json   1 1 0   0%
src/lexigram/web/websocket/handler.py AbstractWebSocketHandler.send_text   1 1 0   0%
src/lexigram/web/websocket/handler.py AbstractWebSocketHandler.send_error   1 1 0   0%
src/lexigram/web/websocket/handler.py AbstractWebSocketHandler.broadcast   6 6 0   0%
src/lexigram/web/websocket/handler.py AbstractWebSocketHandler.broadcast_text   6 6 0   0%
src/lexigram/web/websocket/handler.py AbstractWebSocketHandler.connection_count   1 1 0   0%
src/lexigram/web/websocket/handler.py AbstractWebSocketHandler.count   1 1 0   0%
src/lexigram/web/websocket/handler.py AbstractWebSocketHandler.add   1 1 0   0%
src/lexigram/web/websocket/handler.py AbstractWebSocketHandler.remove   1 1 0   0%
src/lexigram/web/websocket/handler.py AbstractWebSocketHandler.get_user_id   5 5 0   0%
src/lexigram/web/websocket/handler.py AbstractWebSocketHandler.handle   53 53 0   0%
src/lexigram/web/websocket/handler.py (no function)   41 0 2   100%
src/lexigram/web/websocket/rate_limiter.py WebSocketRateLimiter.__init__   5 5 0   0%
src/lexigram/web/websocket/rate_limiter.py WebSocketRateLimiter.check   12 12 0   0%
src/lexigram/web/websocket/rate_limiter.py WebSocketRateLimiter.remove   2 2 0   0%
src/lexigram/web/websocket/rate_limiter.py WebSocketRateLimiter.active_connection_count   1 1 0   0%
src/lexigram/web/websocket/rate_limiter.py (no function)   15 0 1   100%
src/lexigram/web/websocket/rooms.py RoomManager.__init__   3 3 0   0%
src/lexigram/web/websocket/rooms.py RoomManager.join   7 7 0   0%
src/lexigram/web/websocket/rooms.py RoomManager.leave   7 7 0   0%
src/lexigram/web/websocket/rooms.py RoomManager.leave_all   5 5 0   0%
src/lexigram/web/websocket/rooms.py RoomManager.broadcast   12 12 0   0%
src/lexigram/web/websocket/rooms.py RoomManager.send_to   14 14 0   0%
src/lexigram/web/websocket/rooms.py RoomManager.members   1 1 0   0%
src/lexigram/web/websocket/rooms.py RoomManager.rooms_for   2 2 0   0%
src/lexigram/web/websocket/rooms.py RoomManager.room_count   1 1 0   0%
src/lexigram/web/websocket/rooms.py get_room_manager   7 7 0   0%
src/lexigram/web/websocket/rooms.py set_room_manager   1 1 0   0%
src/lexigram/web/websocket/rooms.py (no function)   23 0 2   100%
Total     8325 5626 250   32%

No items found using the specified filter.