AI Slop Code RIsk Monitor

falconry/falcon

The no-magic web API and microservices framework for Python developers, with a focus on reliability and performance at scale.

29.1 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for falconry/falcon, a Python project with 9,807 GitHub stars. SynthScan examined 66,637 lines of code across 309 source files, recording 1518 pattern matches distributed across 18 syntactic categories. The legacy adjusted pattern signal is 29.1 (Elevated pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

29.1
Adjusted Signal
29.1
Raw Pattern Score
100%
Time Factor
2026-10-04
Last Push
9.8K
Stars
Python
Language
66.6K
Lines of Code
309
Files
1.5K
Pattern Hits
2026-10-12
Scan Date
0.22
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 49.0/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 797 finding(s).

Hallucinated Dependency & Supply Chain Risk 24.3/100 · LOW

Are imports declared and package/API names verified? 490 finding(s).

Agent Over-Engineering Ratio 61.3/100 · HIGH

Are wrappers, guards, and repeated structures necessary? 837 finding(s).

PR Review Velocity Impact 80.3/100 · CRITICAL

Which changes need focused human review? 1518 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 67MEDIUM 156LOW 1295

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 1518 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers588 hits · 580 pts
SeverityFileLineSnippetContext
LOWtools/add_contributors.py104def _update_towncrier_template(template, contributors):CODE
LOWtests/test_media_multipart.py208def test_invalid_text_or_charset(charset, data):CODE
LOWtests/test_media_multipart.py252def test_from_buffered_stream():CODE
LOWtests/test_media_multipart.py285def test_body_part_properties():CODE
LOWtests/test_media_multipart.py303def test_empty_or_missing_filename():CODE
LOWtests/test_media_multipart.py528def test_unexpected_form_structure(client):CODE
LOWtests/test_media_multipart.py642def test_nested_multipart_mixed():CODE
LOWtests/test_media_multipart.py692def test_content_transfer_encoding_header(client):CODE
LOWtests/test_media_multipart.py800def test_max_secure_filename_length(custom_client, max_length, expected):CODE
LOWtests/test_media_multipart.py857def test_deserialize_part_media(client):CODE
LOWtests/test_media_multipart.py883def test_deserialize_custom_media(custom_client):CODE
LOWtests/test_media_multipart.py924def test_multipart_parse_options_default_handlers_unique():CODE
LOWtests/test_httperror.py368 def test_client_does_not_accept_json_or_xml(self, client):CODE
LOWtests/test_httperror.py385 def test_custom_error_serializer(self, client, yaml):CODE
LOWtests/test_httperror.py438 def test_custom_error_serializer_optional_representation(CODE
LOWtests/test_httperror.py467 def test_custom_serializer_no_representation(self, client):CODE
LOWtests/test_httperror.py477 def test_client_does_not_accept_anything(self, client):CODE
LOWtests/test_httperror.py951 def test_title_default_message_if_none(self, status, status_type, client):CODE
LOWtests/test_httperror.py973 def test_serialize_error_uses_media_handler(self, client):CODE
LOWtests/test_httperror.py982 def test_serialize_no_json_media_handler(self, client):CODE
LOWtests/test_httperror.py1070 def test_serializes_error_to_preferred_by_sender(CODE
LOWtests/test_httperror.py1092 def test_json_async_only_error(self, util):CODE
LOWtests/test_custom_router.py7def test_custom_router_add_route_should_be_used(asgi, util):CODE
LOWtests/test_custom_router.py24def test_custom_router_find_should_be_used(asgi, util):CODE
LOWtests/test_custom_router.py76def test_can_pass_additional_params_to_add_route(asgi, util):CODE
LOWtests/test_custom_router.py101def test_custom_router_takes_req_positional_argument(asgi, util):CODE
LOWtests/test_custom_router.py124def test_custom_router_takes_req_keyword_argument(asgi, util):CODE
LOW⚡tests/test_utils.py289 def test_uri_encode_value_double(self, value, expected):CODE
LOW⚡tests/test_utils.py295 def test_uri_encode_double_hexchars(self):CODE
LOW⚡tests/test_utils.py303 def test_uri_encode_value_double_hexchars(self):CODE
LOW⚡tests/test_utils.py402 def test_prop_uri_encode_models_stdlib_quote(self):CODE
LOW⚡tests/test_utils.py409 def test_prop_uri_encode_value_models_stdlib_quote_safe_tilde(self):CODE
LOW⚡tests/test_utils.py416 def test_prop_uri_decode_models_stdlib_unquote_plus(self):CODE
LOW⚡tests/test_utils.py613 def test_http_status_to_code_neg(self, v):CODE
LOW⚡tests/test_utils.py617 def test_etag_dumps_to_header_format(self):CODE
LOW⚡tests/test_utils.py627 def test_etag_strong_vs_weak_comparison(self):CODE
LOW⚡tests/test_utils.py780 def test_path_escape_chars_in_create_environ(self):CODE
LOW⚡tests/test_utils.py784 def test_no_prefix_allowed_for_query_strings_in_create_environ(self):CODE
LOW⚡tests/test_utils.py788 def test_plus_in_path_in_create_environ(self):CODE
LOW⚡tests/test_utils.py792 def test_none_header_value_in_create_environ(self):CODE
LOW⚡tests/test_utils.py801 def test_httpnow_alias_for_backwards_compat(self):CODE
LOW⚡tests/test_utils.py870 def test_repr_result_when_body_varies(self, asgi, util, value, simulate):CODE
LOW⚡tests/test_utils.py929 def test_rich_repr_result_when_body_varies(self, asgi, util, value, simulate):CODE
LOW⚡tests/test_utils.py1033 def test_wsgi_iterable_not_closeable(self):CODE
LOW⚡tests/test_utils.py1038 def test_path_must_start_with_slash(self, app):CODE
LOW⚡tests/test_utils.py1044 def test_cached_text_in_result(self, app):CODE
LOWtests/test_utils.py111 def test_deprecated_decorator(self):CODE
LOWtests/test_utils.py176 def test_pack_query_params_none(self):CODE
LOWtests/test_utils.py179 def test_pack_query_params_one(self):CODE
LOWtests/test_utils.py199 def test_pack_query_params_several(self):CODE
LOWtests/test_utils.py231 def test_to_query_str_encoding(self, params, csv):CODE
LOWtests/test_utils.py351 def test_uri_decode_bad_coding(self, encoded, expected, decode_approach):CODE
LOWtests/test_utils.py362 def test_uri_decode_bad_unicode(self, encoded, expected, decode_approach):CODE
LOWtests/test_utils.py374 def test_uri_decode_unquote_plus(self, decode_approach):CODE
LOWtests/test_utils.py509 def test_parse_query_string_edge_cases(self, query_string, keep_blank, expected):CODE
LOWtests/test_utils.py588 def test_code_to_http_status_value_error(self, v):CODE
LOWtests/test_utils.py686 def test_secure_filename_empty_value(self):CODE
LOWtests/test_utils.py690 def test_secure_filename_invalid_max_length(self):CODE
LOWtests/test_utils.py705 def test_secure_filename_windows_reserved_names(CODE
LOWtests/test_utils.py725def test_simulate_request_protocol(asgi, protocol, method, util):CODE
528 more matches not shown…
Decorative Section Separators139 hits · 423 pts
SeverityFileLineSnippetContext
MEDIUM⚡tox.ini90# --------------------------------------------------------------------COMMENT
MEDIUM⚡tox.ini92# --------------------------------------------------------------------COMMENT
MEDIUM⚡tox.ini97# --------------------------------------------------------------------COMMENT
MEDIUM⚡tox.ini99# --------------------------------------------------------------------COMMENT
MEDIUM⚡tox.ini347# --------------------------------------------------------------------COMMENT
MEDIUM⚡tox.ini349# --------------------------------------------------------------------COMMENT
MEDIUM⚡tox.ini359# --------------------------------------------------------------------COMMENT
MEDIUM⚡tox.ini361# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini3# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini13# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini37# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini39# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini52# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini54# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini111# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini113# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini144# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini146# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini211# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini213# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini235# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini237# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini254# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini256# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini278# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini280# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini307# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini309# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini322# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini324# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini375# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini377# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini412# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini418# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini452# --------------------------------------------------------------------COMMENT
MEDIUMtox.ini454# --------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_cookies.py351# =====================================================================COMMENT
MEDIUM⚡tests/test_cookies.py353# =====================================================================COMMENT
MEDIUMtests/test_cookies.py110# =====================================================================COMMENT
MEDIUMtests/test_cookies.py112# =====================================================================COMMENT
MEDIUMtests/test_after_hooks.py14# --------------------------------------------------------------------COMMENT
MEDIUMtests/test_after_hooks.py16# --------------------------------------------------------------------COMMENT
MEDIUMtests/test_after_hooks.py34# --------------------------------------------------------------------COMMENT
MEDIUMtests/test_after_hooks.py36# --------------------------------------------------------------------COMMENT
MEDIUMtests/test_after_hooks.py108# --------------------------------------------------------------------COMMENT
MEDIUMtests/test_after_hooks.py110# --------------------------------------------------------------------COMMENT
MEDIUMtests/test_after_hooks.py228# --------------------------------------------------------------------COMMENT
MEDIUMtests/test_after_hooks.py230# --------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_request_attrs.py207 # =======================================================COMMENT
MEDIUM⚡tests/test_request_attrs.py209 # =======================================================COMMENT
MEDIUM⚡tests/test_request_attrs.py215 # =======================================================COMMENT
MEDIUM⚡tests/test_request_attrs.py217 # =======================================================COMMENT
MEDIUM⚡tests/test_request_attrs.py223 # =======================================================COMMENT
MEDIUM⚡tests/test_request_attrs.py225 # =======================================================COMMENT
MEDIUM⚡tests/test_request_attrs.py232 # =======================================================COMMENT
MEDIUM⚡tests/test_request_attrs.py234 # =======================================================COMMENT
MEDIUM⚡tests/test_request_attrs.py1083 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_request_attrs.py1085 # -------------------------------------------------------------------------COMMENT
MEDIUMtests/test_request_attrs.py249 # =======================================================COMMENT
MEDIUMtests/test_request_attrs.py251 # =======================================================COMMENT
79 more matches not shown…
Unused Imports476 hits · 318 pts
SeverityFileLineSnippetContext
LOWtests/conftest.py20CODE
LOWtests/test_typing.py1CODE
LOWtests/test_validators.py1CODE
LOWe2e-tests/server/hub.py1CODE
LOWfalcon/hooks.py17CODE
LOWfalcon/hooks.py45CODE
LOWfalcon/hooks.py48CODE
LOWfalcon/_typing.py16CODE
LOWfalcon/_typing.py51CODE
LOWfalcon/_typing.py52CODE
LOWfalcon/_typing.py53CODE
LOWfalcon/http_error.py16CODE
LOWfalcon/request_helpers.py17CODE
LOWfalcon/asgi_spec.py17CODE
LOWfalcon/request.py15CODE
LOWfalcon/__init__.py334CODE
LOWfalcon/__init__.py335CODE
LOWfalcon/__init__.py336CODE
LOWfalcon/__init__.py337CODE
LOWfalcon/__init__.py338CODE
LOWfalcon/__init__.py339CODE
LOWfalcon/__init__.py340CODE
LOWfalcon/__init__.py341CODE
LOWfalcon/__init__.py342CODE
LOWfalcon/__init__.py343CODE
LOWfalcon/__init__.py344CODE
LOWfalcon/__init__.py345CODE
LOWfalcon/__init__.py346CODE
LOWfalcon/__init__.py347CODE
LOWfalcon/__init__.py348CODE
LOWfalcon/__init__.py349CODE
LOWfalcon/__init__.py350CODE
LOWfalcon/__init__.py351CODE
LOWfalcon/__init__.py352CODE
LOWfalcon/__init__.py353CODE
LOWfalcon/__init__.py354CODE
LOWfalcon/__init__.py355CODE
LOWfalcon/__init__.py356CODE
LOWfalcon/__init__.py357CODE
LOWfalcon/__init__.py358CODE
LOWfalcon/__init__.py359CODE
LOWfalcon/__init__.py360CODE
LOWfalcon/__init__.py361CODE
LOWfalcon/__init__.py362CODE
LOWfalcon/__init__.py363CODE
LOWfalcon/__init__.py364CODE
LOWfalcon/__init__.py365CODE
LOWfalcon/__init__.py366CODE
LOWfalcon/__init__.py367CODE
LOWfalcon/__init__.py368CODE
LOWfalcon/__init__.py369CODE
LOWfalcon/__init__.py370CODE
LOWfalcon/__init__.py371CODE
LOWfalcon/__init__.py372CODE
LOWfalcon/__init__.py373CODE
LOWfalcon/__init__.py374CODE
LOWfalcon/__init__.py375CODE
LOWfalcon/__init__.py376CODE
LOWfalcon/__init__.py377CODE
LOWfalcon/__init__.py378CODE
416 more matches not shown…
Empty Error Handlers35 hits · 175 pts
SeverityFileLineSnippetContext
HIGHtests/test_utils.py744except AttributeError:CODE
HIGHtests/test_request_query_string_media.py181except errors.HTTPBadRequest:CODE
HIGHtests/test_request_query_string_media.py258except Exception:CODE
HIGHtests/test_request_query_string_media.py281except falcon.MediaNotFoundError:CODE
HIGHtests/test_response_body.py71except StopIteration:CODE
HIGHtests/test_media_handlers.py24except ImportError:CODE
HIGHtests/test_media_handlers.py29except ImportError:CODE
HIGHtests/test_media_handlers.py34except ImportError:CODE
HIGHtests/test_media_handlers.py39except ImportError:CODE
HIGHtests/test_media_handlers.py45except ImportError:CODE
HIGHtests/test_wsgi.py167except OSError:CODE
HIGHtests/asgi/test_asgi_servers.py116except requests.ConnectionError:CODE
HIGHtests/asgi/test_asgi_servers.py368except EOFError:CODE
HIGHtests/asgi/test_asgi_servers.py511except KeyboardInterrupt:CODE
HIGHtests/asgi/test_ws.py685except falcon.WebSocketDisconnected:CODE
HIGHtests/asgi/test_ws.py710except falcon.WebSocketDisconnected:CODE
HIGHtests/asgi/test_ws.py166except asyncio.CancelledError:CODE
HIGHe2e-tests/conftest.py44except requests.exceptions.RequestException:CODE
HIGHexamples/look/tests/conftest.py33except requests.exceptions.RequestException:CODE
HIGHfalcon/request.py1363except KeyError:CODE
HIGHfalcon/app_helpers.py403except (AttributeError, TypeError):CODE
HIGHfalcon/response_helpers.py58except KeyError:CODE
HIGHfalcon/response_helpers.py69except KeyError:CODE
HIGHfalcon/asgi/request.py350except KeyError:CODE
HIGHfalcon/asgi/request.py385except KeyError:CODE
HIGHfalcon/asgi/stream.py304except KeyError:CODE
HIGHfalcon/asgi/stream.py388except KeyError:CODE
HIGHfalcon/asgi/stream.py451except KeyError:CODE
HIGHfalcon/asgi/ws.py735except asyncio.CancelledError:CODE
HIGHfalcon/asgi/app.py819except asyncio.CancelledError:CODE
HIGHfalcon/util/mediatypes.py324except ValueError:CODE
HIGHfalcon/testing/client.py2390except asyncio.CancelledError:CODE
HIGHfalcon/routing/util.py73except AttributeError:CODE
HIGHfalcon/media/handlers.py187except ValueError:CODE
HIGHfalcon/media/validators/jsonschema.py11except ImportError: # pragma: nocoverCODE
Docstring Block Structure23 hits · 115 pts
SeverityFileLineSnippetContext
HIGHfalcon/request.py1176Deserialize the query string as a media object. This method URL-decodes the query string and then deserializes STRING
HIGHfalcon/request.py1320Retrieve the raw string value for the given header. Args: name (str): Header name, case-insensitiveSTRING
HIGHfalcon/request.py1378Retrieve the int value for the given header. Args: name (str): Header name, case-insensitive (e.g.,STRING
HIGHfalcon/request.py1420Return an HTTP header with HTTP-Date values as a datetime. Args: name (str): Header name, case-inseSTRING
HIGHfalcon/request.py1527Return the raw value of a query string parameter as a string. Note: If an HTML form is POSTed to thSTRING
HIGHfalcon/request.py1669Return the value of a query string parameter as an int. Args: name (str): Parameter name, case-sensSTRING
HIGHfalcon/request.py1798Return the value of a query string parameter as an float. Args: name (str): Parameter name, case-seSTRING
HIGHfalcon/request.py1918Return the value of a query string parameter as an UUID. The value to convert must conform to the standard UUIDSTRING
HIGHfalcon/request.py2039Return the value of a query string parameter as a boolean. This method treats valueless parameters as flags. BySTRING
HIGHfalcon/request.py2202Return the value of a query string parameter as a list. List items must be comma-separated or must be provided STRING
HIGHfalcon/request.py2381Return the value of a query string parameter as a datetime. Args: name (str): Parameter name, case-STRING
HIGHfalcon/request.py2488Return the value of a query string parameter as a date. Args: name (str): Parameter name, case-sensSTRING
HIGHfalcon/request.py2546Return the decoded JSON value of a query string parameter. Given a JSON value, decode it to an appropriate PythSTRING
HIGHfalcon/request.py2617Return a query string parameter's value deserialized by a media handler. This is useful for implementing the OpSTRING
HIGHfalcon/request.py2719Return the value of a query string parameter as a dictionary. Two input formats are supported: * An alSTRING
HIGHfalcon/response.py678Retrieve the raw string value for the given header. Normally, when a header has multiple values, they will be STRING
HIGHfalcon/asgi/request.py759Retrieve the raw string value for the given header. Args: name (str): Header name, case-insensitiveSTRING
HIGHfalcon/asgi/request.py841Return the raw value of a query string parameter as a string. Note: If an HTML form is POSTed to thSTRING
HIGHfalcon/util/misc.py176Convert an HTTP date string to a datetime instance. Args: http_date (str): An RFC 1123 date string, e.g.: STRING
HIGHfalcon/util/misc.py301Get a bound method of the given object by name. Args: obj: Object on which to look up the method. mSTRING
HIGHfalcon/util/misc.py371Sanitize the provided `filename` to contain only ASCII characters. Only ASCII alphanumerals, ``'.'``, ``'-'`` and `STRING
HIGHfalcon/util/uri.py345Parse a query string into a dict. Query string parameters are assumed to use standard form-encoding. Only paramSTRING
HIGHfalcon/util/uri.py534Unquote an RFC 7320 "quoted-string". Args: quoted (str): Original quoted string Returns: str: STRING
Over-Commented Block103 hits · 99 pts
SeverityFileLineSnippetContext
LOWsetup.py41 # CPython versions (especially 3.12+), cythonizing pure Python codeCOMMENT
LOWtox.ini1[tox]COMMENT
LOWtests/test_wsgi_servers.py341 # TODO(vytas): In retrospect, it would be easier to maintain theseCOMMENT
LOWdocs/conf.py1# Copyright 2014-2026 by Falcon Contributors.COMMENT
LOWdocs/conf.py41#COMMENT
LOWdocs/conf.py121# Sphinx is looking for the mapped types defined as classes, however, typingCOMMENT
LOWdocs/ext/falcon_releases.py1# Copyright 2025-2026 by Vytautas Liuolia.COMMENT
LOWdocs/ext/newsfragments.py1# Copyright 2026 by Vytautas Liuolia.COMMENT
LOWdocs/ext/doorway.py1# Copyright 2016 by Rackspace Hosting, Inc.COMMENT
LOWdocs/ext/workarounds.py1# Copyright 2025-2026 by Vytautas Liuolia.COMMENT
LOWdocs/ext/rfc.py1# Copyright 2016 by Rackspace Hosting, Inc.COMMENT
LOWdocs/ext/private_args.py1# Copyright 2021 by Kurt GriffithsCOMMENT
LOWdocs/ext/cibuildwheel.py1# Copyright 2024-2026 by Vytautas Liuolia.COMMENT
LOWe2e-tests/conftest.py1# Copyright 2020-2026 by Vytautas Liuolia.COMMENT
LOWe2e-tests/test_e2e.py1# Copyright 2020-2026 by Vytautas Liuolia.COMMENT
LOWfalcon/hooks.py1# Copyright 2013 by Rackspace Hosting, Inc.COMMENT
LOWfalcon/version.py1# Copyright 2013 by Rackspace Hosting, Inc.COMMENT
LOWfalcon/_typing.py1# Copyright 2021-2026 by Vytautas Liuolia.COMMENT
LOWfalcon/http_error.py1# Copyright 2013 by Rackspace Hosting, Inc.COMMENT
LOWfalcon/request_helpers.py1# Copyright 2013 by Rackspace Hosting, Inc.COMMENT
LOWfalcon/request_helpers.py81 if _COOKIE_NAME_RESERVED_CHARS.search(name):COMMENT
LOWfalcon/asgi_spec.py1# Copyright 2020 by Kurt GriffithsCOMMENT
LOWfalcon/constants.py141# omitted, preference is given to the encoding specified in theCOMMENT
LOWfalcon/request.py1# Licensed under the Apache License, Version 2.0 (the "License");COMMENT
LOWfalcon/request.py261 # empty string, so normalize it in that case.COMMENT
LOWfalcon/__init__.py1# Copyright 2013 by Rackspace Hosting, Inc.COMMENT
LOWfalcon/__init__.py661# flavor of the framework as HTTP 500 tracebacks may disappear completely,COMMENT
LOWfalcon/status_codes.py1# Copyright 2013 by Rackspace Hosting, Inc.COMMENT
LOWfalcon/response.py1# Copyright 2013 by Rackspace Hosting, Inc.COMMENT
LOWfalcon/response.py941 Can take values 'anonymous' or 'use-credentials' or None.COMMENT
LOWfalcon/response.py1381 # PERF(vytas): uglier inline version of Response._set_media_typeCOMMENT
LOWfalcon/forwarded.py1# Based on code from the aiohttp project, Copyright 2013-2017 by Nikolay Kim andCOMMENT
LOWfalcon/responders.py1# Copyright 2013 by Rackspace Hosting, Inc.COMMENT
LOWfalcon/stream.py1# Copyright 2013 by Rackspace Hosting, Inc.COMMENT
LOWfalcon/inspect.py1# Copyright 2020-2026 by Federico CaselliCOMMENT
LOWfalcon/redirects.py1# Copyright 2015 by Kurt GriffithsCOMMENT
LOWfalcon/app_helpers.py1# Copyright 2013 by Rackspace Hosting, Inc.COMMENT
LOWfalcon/app_helpers.py321COMMENT
LOWfalcon/http_status.py1# Copyright 2015 by Hurricane Labs LLCCOMMENT
LOWfalcon/app.py1# Copyright 2013 by Rackspace Hosting, Inc.COMMENT
LOWfalcon/app.py461 # traversal for _get_responder() to fail. An example isCOMMENT
LOWfalcon/app.py541 ):COMMENT
LOWfalcon/errors.py1# Copyright 2013 by Rackspace Hosting, Inc.COMMENT
LOWfalcon/errors.py201# pattern using typing.Unpack:COMMENT
LOWfalcon/typing.py1# Copyright 2024 by Federico CaselliCOMMENT
LOWfalcon/response_helpers.py1# Copyright 2013 by Rackspace Hosting, Inc.COMMENT
LOWfalcon/response_helpers.py101 # sufficiently expressive.COMMENT
LOWfalcon/cmd/inspect_app.py1#!/usr/bin/env pythonCOMMENT
LOWfalcon/cmd/bench.py1# Copyright 2013 by Rackspace Hosting, Inc.COMMENT
LOWfalcon/asgi/multipart.py1# Copyright 2019-2026 by Vytautas Liuolia.COMMENT
LOWfalcon/asgi/_request_helpers.py1# Copyright 2019 by Kurt GriffithsCOMMENT
LOWfalcon/asgi/request.py1# Copyright 2019-2020 by Kurt GriffithsCOMMENT
LOWfalcon/asgi/request.py121 # =====================================================================COMMENT
LOWfalcon/asgi/request.py221 self.content_type = NoneCOMMENT
LOWfalcon/asgi/request.py241 # =====================================================================COMMENT
LOWfalcon/asgi/request.py501 # access this field when setting self._cached_access_routeCOMMENT
LOWfalcon/asgi/__init__.py1# Copyright 2019 by Kurt Griffiths.COMMENT
LOWfalcon/asgi/response.py1# Copyright 2019 by Kurt GriffithsCOMMENT
LOWfalcon/asgi/response.py381 # in case the latter contains Set-Cookie headers that should beCOMMENT
LOWfalcon/asgi/stream.py1# Copyright 2019 by Kurt GriffithsCOMMENT
43 more matches not shown…
Excessive Try-Catch Wrapping47 hits · 50 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_request_query_string_media.py79def on_get(self, req, resp):CODE
MEDIUMtests/test_request_query_string_media.py302def on_get(self, req, resp):CODE
LOWtests/test_request_query_string_media.py258 except Exception:CODE
LOWtests/test_request_query_string_media.py309 except Exception:CODE
LOWtests/test_query_params.py379 except Exception as ex:CODE
LOWtests/test_query_params.py455 except Exception as ex:CODE
LOWtests/test_query_params.py583 except Exception as ex:CODE
LOWtests/test_query_params.py749 except Exception as ex:CODE
LOWtests/test_request_media.py194 except Exception as e:CODE
LOWtests/test_request_media.py218 except Exception as e:CODE
LOWtests/test_request_media.py323 except Exception as e:CODE
LOWtests/test_request_media.py327 except Exception as e:CODE
LOWtests/test_request_media.py342 except Exception as e:CODE
LOWtests/test_request_media.py349 except Exception as e:CODE
MEDIUMtests/asgi/test_ws.py70def on_websocket(self, req, ws, explicit):CODE
MEDIUMtests/asgi/test_ws.py696def on_websocket(self, req, ws):CODE
LOWtests/asgi/test_ws.py675 except Exception as ex:CODE
LOWtests/asgi/test_ws.py700 except Exception as ex:CODE
LOWtests/asgi/test_ws.py991 except Exception:CODE
LOWtests/asgi/test_response_media_asgi.py154 except Exception as ex:CODE
LOWexamples/things_advanced.py121 except Exception as ex:CODE
LOWexamples/things_advanced_asgi.py127 except Exception as ex:CODE
LOWexamples/recipes/request_id_log.py14 except Exception:CODE
LOWfalcon/request.py1151 except Exception as err:CODE
LOWfalcon/inspect.py794 except Exception:CODE
LOWfalcon/app.py468 except Exception as ex:CODE
LOWfalcon/app.py490 except Exception as ex:CODE
LOWfalcon/app.py498 except Exception as ex:CODE
LOWfalcon/app.py509 except Exception as ex:CODE
LOWfalcon/app.py565 except Exception as ex:CODE
LOWfalcon/app.py1417 except Exception as handler_ex:CODE
MEDIUMfalcon/asgi/request.py283def content_length(self) -> int | None:CODE
LOWfalcon/asgi/request.py646 except Exception as err:CODE
LOWfalcon/asgi/ws.py489 except Exception as ex:CODE
LOWfalcon/asgi/app.py564 except Exception as ex:CODE
LOWfalcon/asgi/app.py589 except Exception as ex:CODE
LOWfalcon/asgi/app.py598 except Exception as ex:CODE
LOWfalcon/asgi/app.py649 except Exception as ex:CODE
LOWfalcon/asgi/app.py748 except Exception as ex:CODE
LOWfalcon/asgi/app.py1174 except Exception:CODE
LOWfalcon/asgi/app.py1190 except Exception:CODE
LOWfalcon/asgi/app.py1289 except Exception as ex:CODE
LOWfalcon/asgi/app.py1470 except Exception as handler_ex:CODE
LOWfalcon/asgi/app.py1497 except Exception as ex:CODE
LOWfalcon/routing/compiled.py446 except Exception as e:CODE
LOWfalcon/media/urlencoded.py64 except Exception as err:CODE
LOWfalcon/media/json.py182 except Exception as ex:CODE
Cross-Language Confusion6 hits · 44 pts
SeverityFileLineSnippetContext
HIGHtests/test_error_reporter.py148 raise falcon.HTTPStatus(falcon.HTTP_OK, text='{"result": null}')CODE
HIGH⚡tests/test_request_query_string_media.py48 # Query string: {"numbers":[1,2],"flag":null}COMMENT
HIGH⚡tests/test_request_query_string_media.py49 json_data = '{"numbers":[1,2],"flag":null}'CODE
HIGHtests/test_request_attrs.py128 # NOTE(kgriffs): Behavior for IP addresses is undefined,COMMENT
HIGHfalcon/request.py1186 method will URL-decode it to ``{"numbers":[1,2],"flag":null}`` andSTRING
HIGH⚡falcon/asgi/stream.py179 # just be left undefined; hence we do not implement readline(),COMMENT
Deep Nesting41 hits · 34 pts
SeverityFileLineSnippetContext
LOWtests/test_media_multipart.py149CODE
LOWtests/test_httperror.py50CODE
LOWtests/test_utils.py1290CODE
LOWtests/asgi/test_asgi_servers.py671CODE
LOWtests/asgi/test_ws.py307CODE
LOWtests/asgi/test_ws.py325CODE
LOWtests/asgi/test_hello_asgi.py47CODE
LOWdocs/ext/falcon_releases.py152CODE
LOWfalcon/hooks.py89CODE
LOWfalcon/hooks.py174CODE
LOWfalcon/hooks.py134CODE
LOWfalcon/hooks.py199CODE
LOWfalcon/request.py558CODE
LOWfalcon/request.py876CODE
LOWfalcon/request.py956CODE
LOWfalcon/request.py2030CODE
LOWfalcon/request.py2709CODE
LOWfalcon/response.py267CODE
LOWfalcon/forwarded.py92CODE
LOWfalcon/inspect.py216CODE
LOWfalcon/inspect.py228CODE
LOWfalcon/app_helpers.py96CODE
LOWfalcon/app_helpers.py284CODE
LOWfalcon/app.py407CODE
LOWfalcon/app.py1208CODE
LOWfalcon/asgi/multipart.py200CODE
LOWfalcon/asgi/request.py463CODE
LOWfalcon/asgi/response.py180CODE
LOWfalcon/asgi/stream.py423CODE
LOWfalcon/asgi/ws.py250CODE
LOWfalcon/asgi/app.py457CODE
LOWfalcon/asgi/app.py1132CODE
LOWfalcon/asgi/app.py1202CODE
LOWfalcon/asgi/structures.py127CODE
LOWfalcon/util/misc.py238CODE
LOWfalcon/util/uri.py342CODE
LOWfalcon/testing/helpers.py815CODE
LOWfalcon/routing/compiled.py166CODE
LOWfalcon/routing/compiled.py450CODE
LOWfalcon/routing/compiled.py259CODE
LOWfalcon/media/multipart.py365CODE
Self-Referential Comments7 hits · 30 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_request_context.py23 # Define a Request-alike with a custom context typeCOMMENT
MEDIUM⚡tests/test_request_context.py35 # Define a Request-alike with a non-callable custom context typeCOMMENT
MEDIUM⚡tests/test_request_context.py47 # Define a Request-alike with a custom context typeCOMMENT
MEDIUM⚡tests/asgi/test_request_context_asgi.py23 # Define a Request-alike with a custom context typeCOMMENT
MEDIUM⚡tests/asgi/test_request_context_asgi.py34 # Define a Request-alike with a non-callable custom context typeCOMMENT
MEDIUM⚡tests/asgi/test_request_context_asgi.py45 # Define a Request-alike with a custom context typeCOMMENT
MEDIUM⚡falcon/asgi/request.py242 # Create a context objectCOMMENT
AI Slop Vocabulary13 hits · 18 pts
SeverityFileLineSnippetContext
LOWtests/test_request_query_string_media.py140 # Plain text - should just return the decoded stringCOMMENT
LOWtests/test_cookies.py468 # we cannot simply use pytest.raisesCOMMENT
LOWtests/test_wsgi.py76 # NOTE(kgriffs): Elsewhere we just use req.bounded_stream, soCOMMENT
LOWtests/asgi/test_ws.py100 # cycles to just use the same pattern whether or not the conductorCOMMENT
LOWfalcon/constants.py145# ignore it anyway and just use what is specified in the document,COMMENT
LOWfalcon/request.py1356 # people to usually just use the relevant helper propertiesCOMMENT
MEDIUMfalcon/request.py2942 """Set to ``True`` in order to automatically consume the request streamSTRING
MEDIUMfalcon/request.py3010 """Set to ``True`` in order to strip the trailing slash, if present, at theSTRING
LOWfalcon/response.py553 # so we can just pass this in and when __setitem__() callsCOMMENT
MEDIUMfalcon/stream.py31 """Wrap *wsgi.input* streams to make them more robust.STRING
LOWfalcon/asgi/stream.py144 # NOTE(kgriffs): If length is unknown we just set remaining bytesCOMMENT
LOWfalcon/testing/helpers.py239 # NOTE(kgriffs): Part of the time just return anCOMMENT
MEDIUMfalcon/media/multipart.py524 # characters known to be very robust through mail gateways, and NOTCOMMENT
AI Structural Patterns18 hits · 16 pts
SeverityFileLineSnippetContext
LOWfalcon/response.py350CODE
LOWfalcon/app.py302CODE
LOWfalcon/app.py317CODE
LOWfalcon/app.py332CODE
LOWfalcon/app.py347CODE
LOWfalcon/app.py361CODE
LOWfalcon/asgi/app.py366CODE
LOWfalcon/asgi/app.py381CODE
LOWfalcon/asgi/app.py396CODE
LOWfalcon/asgi/app.py411CODE
LOWfalcon/asgi/app.py425CODE
LOWfalcon/testing/client.py471CODE
LOWfalcon/testing/client.py693CODE
LOWfalcon/testing/client.py721CODE
LOWfalcon/testing/client.py752CODE
LOWfalcon/testing/helpers.py973CODE
LOWfalcon/testing/helpers.py1118CODE
LOWfalcon/testing/helpers.py1201CODE
Cross-File Repetition3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHfalcon/request.py0a dict-like object for configuring the media-types to handle. by default, handlers are provided for the ``application/jsSTRING
HIGHfalcon/response.py0a dict-like object for configuring the media-types to handle. by default, handlers are provided for the ``application/jsSTRING
HIGHfalcon/media/multipart.py0a dict-like object for configuring the media-types to handle. by default, handlers are provided for the ``application/jsSTRING
Fake / Example Data8 hits · 9 pts
SeverityFileLineSnippetContext
LOWtests/test_media_multipart.py71 b'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod 'CODE
LOWtests/test_media_multipart.py71 b'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod 'CODE
LOW⚡tests/test_utils.py865 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praese',CODE
LOW⚡tests/test_utils.py865 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praese',CODE
LOW⚡tests/test_utils.py924 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praese',CODE
LOW⚡tests/test_utils.py924 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praese',CODE
LOWtests/test_utils.py981 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praese',CODE
LOWtests/test_utils.py981 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praese',CODE
Modern Structural Boilerplate7 hits · 6 pts
SeverityFileLineSnippetContext
LOWe2e-tests/server/__init__.py3__all__ = ['app']CODE
LOWe2e-tests/server/hub.py13logger = logging.getLogger(__name__)CODE
LOWfalcon/response.py709 def set_header(self, name: str, value: str) -> None:CODE
LOWfalcon/response.py1356 def _set_media_type(self, media_type: str | None = None) -> None:CODE
LOWfalcon/app.py1052 def set_error_reporter(self, reporter: ErrorReporter[_ReqT]) -> None:CODE
LOWfalcon/app.py1499 def _update_sink_and_static_routes(self) -> None:CODE
LOWfalcon/app.py1145 def set_error_serializer(self, serializer: ErrorSerializer[_ReqT, _RespT]) -> None:STRING
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMexamples/look/look/images.py44 # Note the use of dependency injection for standard libraryCOMMENT
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWexamples/ws_tutorial/ws_tutorial/app.py63 # Check if the route is protectedCOMMENT
Overly Generic Function Names2 hits · 1 pts
SeverityFileLineSnippetContext
LOWtests/test_utils.py1622 def test_function(self, recwarn):CODE
LOWfalcon/hooks.py108 def do_something(req, resp, resource, params):STRING