AI Slop Code RIsk Monitor

benoitc/gunicorn

gunicorn 'Green Unicorn' is a WSGI HTTP Server for UNIX, fast clients and sleepy applications.

54.2 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for benoitc/gunicorn, a Python project with 10,699 GitHub stars. SynthScan examined 109,632 lines of code across 593 source files, recording 3307 pattern matches distributed across 23 syntactic categories. The legacy adjusted pattern signal is 54.2 (High 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.

54.2
Adjusted Signal
54.2
Raw Pattern Score
100%
Time Factor
2026-09-06
Last Push
10.7K
Stars
Python
Language
109.6K
Lines of Code
593
Files
3.3K
Pattern Hits
2026-10-12
Scan Date
0.34
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 78.0/100 · CRITICAL

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

Hallucinated Dependency & Supply Chain Risk 5.1/100 · LOW

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

Agent Over-Engineering Ratio 83.1/100 · CRITICAL

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

PR Review Velocity Impact 94.1/100 · CRITICAL

Which changes need focused human review? 3307 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 199MEDIUM 945LOW 2163

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 3307 distinct pattern matches across 23 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.

Self-Referential Comments499 hits · 1508 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_gtornado.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_gtornado.py331 # Create a mock handler to test the patched clear methodCOMMENT
MEDIUMtests/support_dirty_apps.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_invalid_requests.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_asgi_uwsgi_protocol.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_asgi_header_security.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_http2_alpn.py3# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_python_protocol.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/conftest.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_asgi_error_handling.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_asgi_error_handling.py242 # Create a mock taskCOMMENT
MEDIUMtests/test_asgi_error_handling.py261 # Create a mock task that's already doneCOMMENT
MEDIUMtests/test_dirty_errors.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_asgi_http_scope.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/support.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUM⚡tests/test_asgi_worker.py392 # Create a minimal protocol instanceCOMMENT
MEDIUMtests/test_asgi_worker.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_http2_errors.py3# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_debug.py3# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_http2_request.py3# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_http2_request.py705 # Create a mock socketCOMMENT
MEDIUMtests/test_http2_request.py724 # Create a mock HTTP/1 request (no priority attributes)COMMENT
MEDIUMtests/test_asgi_forwarded_headers.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_statsd.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_pidfile.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_asgi_streaming.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUM⚡tests/test_asgi_disconnect.py61 # Create a mock request for the body receiverCOMMENT
MEDIUM⚡tests/test_asgi_disconnect.py66 # Create a body receiver (simulating active request)COMMENT
MEDIUM⚡tests/test_asgi_disconnect.py173 # Create a mock task that's still runningCOMMENT
MEDIUM⚡tests/test_asgi_disconnect.py186 # Create a mock task that's already doneCOMMENT
MEDIUM⚡tests/test_asgi_disconnect.py203 # Create a mock request with no bodyCOMMENT
MEDIUMtests/test_asgi_disconnect.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_asgi_disconnect.py87 # Create a mock request for the body receiverCOMMENT
MEDIUMtests/test_asgi_disconnect.py134 # Create a mock taskCOMMENT
MEDIUMtests/test_asgi_disconnect.py155 # Create a mock taskCOMMENT
MEDIUMtests/test_http2_live.py3# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_asgi_websocket_enhanced.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_asgi_connection_close.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_dirty_arbiter.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_systemd.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_dirty_tlv.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_util.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_asgi_parser_validation.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_http2_integration.py3# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_dirty_app.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_asgi_proxy_protocol.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_asgi_keepalive_smuggling.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/treq_asgi.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_dirty_integration.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_header_policy_parity.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_arbiter.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_dirty_hooks.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_http2_stream.py3# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_signal_integration.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_asgi_http2_response.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/treq.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/treq.py7# This file is part of the pywebmachine package releasedCOMMENT
MEDIUMtests/test_ssl.py3# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_http.py2# This file is part of gunicorn released under the MIT license.COMMENT
MEDIUMtests/test_sock.py2# This file is part of gunicorn released under the MIT license.COMMENT
439 more matches not shown…
Decorative Section Separators426 hits · 1448 pts
SeverityFileLineSnippetContext
MEDIUM⚡tests/test_asgi_header_security.py21# ============================================================================COMMENT
MEDIUM⚡tests/test_asgi_header_security.py23# ============================================================================COMMENT
MEDIUM⚡tests/test_asgi_header_security.py91# ============================================================================COMMENT
MEDIUM⚡tests/test_asgi_header_security.py93# ============================================================================COMMENT
MEDIUM⚡tests/test_asgi_header_security.py246# ============================================================================COMMENT
MEDIUM⚡tests/test_asgi_header_security.py248# ============================================================================COMMENT
MEDIUM⚡tests/test_asgi_header_security.py296# ============================================================================COMMENT
MEDIUM⚡tests/test_asgi_header_security.py298# ============================================================================COMMENT
MEDIUM⚡tests/test_asgi_header_security.py340# ============================================================================COMMENT
MEDIUM⚡tests/test_asgi_header_security.py342# ============================================================================COMMENT
MEDIUMtests/test_asgi_header_security.py152# ============================================================================COMMENT
MEDIUMtests/test_asgi_header_security.py154# ============================================================================COMMENT
MEDIUM⚡tests/test_asgi_error_handling.py88# ============================================================================COMMENT
MEDIUM⚡tests/test_asgi_error_handling.py90# ============================================================================COMMENT
MEDIUM⚡tests/test_asgi_error_handling.py316# ============================================================================COMMENT
MEDIUM⚡tests/test_asgi_error_handling.py318# ============================================================================COMMENT
MEDIUM⚡tests/test_asgi_error_handling.py353# ============================================================================COMMENT
MEDIUM⚡tests/test_asgi_error_handling.py355# ============================================================================COMMENT
MEDIUMtests/test_asgi_error_handling.py20# ============================================================================COMMENT
MEDIUMtests/test_asgi_error_handling.py22# ============================================================================COMMENT
MEDIUMtests/test_asgi_error_handling.py120# ============================================================================COMMENT
MEDIUMtests/test_asgi_error_handling.py122# ============================================================================COMMENT
MEDIUMtests/test_asgi_error_handling.py216# ============================================================================COMMENT
MEDIUMtests/test_asgi_error_handling.py218# ============================================================================COMMENT
MEDIUMtests/test_asgi_error_handling.py274# ============================================================================COMMENT
MEDIUMtests/test_asgi_error_handling.py276# ============================================================================COMMENT
MEDIUM⚡tests/test_asgi_http_scope.py96# ============================================================================COMMENT
MEDIUM⚡tests/test_asgi_http_scope.py98# ============================================================================COMMENT
MEDIUMtests/test_asgi_http_scope.py18# ============================================================================COMMENT
MEDIUMtests/test_asgi_http_scope.py20# ============================================================================COMMENT
MEDIUMtests/test_asgi_http_scope.py178# ============================================================================COMMENT
MEDIUMtests/test_asgi_http_scope.py180# ============================================================================COMMENT
MEDIUMtests/test_asgi_http_scope.py256# ============================================================================COMMENT
MEDIUMtests/test_asgi_http_scope.py258# ============================================================================COMMENT
MEDIUMtests/test_asgi_http_scope.py350# ============================================================================COMMENT
MEDIUMtests/test_asgi_http_scope.py352# ============================================================================COMMENT
MEDIUMtests/test_asgi_http_scope.py478# ============================================================================COMMENT
MEDIUMtests/test_asgi_http_scope.py480# ============================================================================COMMENT
MEDIUMtests/test_asgi_http_scope.py564# ============================================================================COMMENT
MEDIUMtests/test_asgi_http_scope.py566# ============================================================================COMMENT
MEDIUMtests/test_asgi_http_scope.py647# ============================================================================COMMENT
MEDIUMtests/test_asgi_http_scope.py649# ============================================================================COMMENT
MEDIUM⚡tests/test_asgi_worker.py271# ============================================================================COMMENT
MEDIUM⚡tests/test_asgi_worker.py273# ============================================================================COMMENT
MEDIUM⚡tests/test_asgi_worker.py745# ============================================================================COMMENT
MEDIUM⚡tests/test_asgi_worker.py747# ============================================================================COMMENT
MEDIUMtests/test_asgi_worker.py25# ============================================================================COMMENT
MEDIUMtests/test_asgi_worker.py27# ============================================================================COMMENT
MEDIUMtests/test_asgi_worker.py113# ============================================================================COMMENT
MEDIUMtests/test_asgi_worker.py115# ============================================================================COMMENT
MEDIUMtests/test_asgi_worker.py126# ============================================================================COMMENT
MEDIUMtests/test_asgi_worker.py128# ============================================================================COMMENT
MEDIUMtests/test_asgi_worker.py350# ============================================================================COMMENT
MEDIUMtests/test_asgi_worker.py352# ============================================================================COMMENT
MEDIUMtests/test_asgi_worker.py413# ============================================================================COMMENT
MEDIUMtests/test_asgi_worker.py415# ============================================================================COMMENT
MEDIUMtests/test_asgi_worker.py528# ============================================================================COMMENT
MEDIUMtests/test_asgi_worker.py530# ============================================================================COMMENT
MEDIUMtests/test_asgi_worker.py800# ============================================================================COMMENT
MEDIUMtests/test_asgi_worker.py802# ============================================================================COMMENT
366 more matches not shown…
Hyper-Verbose Identifiers1596 hits · 1377 pts
SeverityFileLineSnippetContext
LOWtests/test_gtornado.py77 def test_init_process_clears_ioloop(self):CODE
LOWtests/test_gtornado.py109 def test_handle_request_increments_counter(self):CODE
LOWtests/test_gtornado.py121 def test_max_requests_triggers_shutdown(self):CODE
LOWtests/test_gtornado.py155 def test_handle_exit_sets_alive_false(self):CODE
LOWtests/test_gtornado.py165 def test_handle_exit_only_once(self):CODE
LOWtests/test_gtornado.py200 def test_watchdog_notifies_when_alive(self):CODE
LOWtests/test_gtornado.py211 def test_watchdog_detects_parent_death(self):CODE
LOWtests/test_gtornado.py242 def test_heartbeat_stops_server_when_not_alive(self):CODE
LOWtests/test_gtornado.py254 def test_heartbeat_stops_ioloop_after_server(self):CODE
LOWtests/test_gtornado.py288 def test_wsgi_callable_wrapped_in_container(self):CODE
LOWtests/test_gtornado.py303 def test_tornado_application_not_wrapped(self):CODE
LOWtests/test_gtornado.py323 def test_setup_patches_request_handler(self):CODE
LOWtests/test_gtornado.py364 def test_run_sets_up_callbacks(self):CODE
LOWtests/test_gtornado.py384 def test_run_creates_http_server(self):CODE
LOWtests/test_gtornado.py400 def test_run_adds_sockets_to_server(self):CODE
LOWtests/test_asgi_uwsgi_protocol.py119def test_post_body_round_trips(server):CODE
LOWtests/test_asgi_uwsgi_protocol.py127def test_keepalive_serves_multiple_on_one_worker(server):CODE
LOW⚡tests/test_asgi_header_security.py28 def test_valid_header_name_accepted(self):CODE
LOW⚡tests/test_asgi_header_security.py98 def test_header_value_with_bare_cr_rejected(self):CODE
LOW⚡tests/test_asgi_header_security.py253 def test_oversized_header_value_handled(self):CODE
LOW⚡tests/test_asgi_header_security.py303 def test_valid_host_header_accepted(self):CODE
LOW⚡tests/test_asgi_header_security.py347 def test_content_type_with_charset(self):CODE
LOWtests/test_asgi_header_security.py42 def test_header_name_with_null_rejected(self):CODE
LOWtests/test_asgi_header_security.py54 def test_header_name_with_cr_rejected(self):CODE
LOWtests/test_asgi_header_security.py66 def test_header_name_with_lf_rejected(self):CODE
LOWtests/test_asgi_header_security.py78 def test_empty_header_name_rejected(self):CODE
LOWtests/test_asgi_header_security.py111 def test_header_value_with_bare_lf_rejected(self):CODE
LOWtests/test_asgi_header_security.py124 def test_header_value_special_characters_allowed(self):CODE
LOWtests/test_asgi_header_security.py138 def test_header_value_with_tab_allowed(self):CODE
LOWtests/test_asgi_header_security.py186 def test_headers_lowercased_in_scope(self):CODE
LOWtests/test_asgi_header_security.py201 def test_header_names_are_bytes(self):CODE
LOWtests/test_asgi_header_security.py215 def test_header_values_are_bytes(self):CODE
LOWtests/test_asgi_header_security.py229 def test_header_order_preserved(self):CODE
LOWtests/test_asgi_header_security.py273 def test_many_headers_handled(self):CODE
LOWtests/test_asgi_header_security.py315 def test_host_header_with_port_accepted(self):CODE
LOWtests/test_asgi_header_security.py361 def test_content_type_multipart(self):CODE
LOW⚡tests/test_http2_alpn.py79 def test_returns_alpn_protocol(self):CODE
LOW⚡tests/test_http2_alpn.py89 def test_returns_none_when_not_negotiated(self):CODE
LOW⚡tests/test_http2_alpn.py94 def test_returns_none_for_non_ssl_socket(self):CODE
LOW⚡tests/test_http2_alpn.py99 def test_handles_attribute_error(self):CODE
LOWtests/test_http2_alpn.py52 def test_empty_protocols_returns_empty(self):CODE
LOWtests/test_http2_alpn.py59 def test_none_protocols_returns_empty(self):CODE
LOWtests/test_http2_alpn.py127 def test_returns_false_for_none(self):CODE
LOWtests/test_http2_alpn.py132 def test_returns_false_for_non_ssl(self):CODE
LOWtests/test_http2_alpn.py236 def test_handshake_called_when_do_handshake_on_connect_false(self, async_worker):CODE
LOWtests/test_http2_alpn.py254 def test_no_handshake_when_do_handshake_on_connect_true(self, async_worker):CODE
LOWtests/test_http2_alpn.py273 def test_no_handshake_for_non_ssl_socket(self, async_worker):CODE
LOWtests/test_http2_alpn.py333 def test_gevent_inherits_async_worker(self):CODE
LOWtests/test_http2_alpn.py345 def test_gevent_handle_calls_super(self, gevent_worker):CODE
LOWtests/test_python_protocol.py38 def test_get_with_query_string(self):CODE
LOWtests/test_python_protocol.py94 def test_post_with_content_length(self):CODE
LOWtests/test_python_protocol.py139 def test_chunked_with_extension(self):CODE
LOWtests/test_python_protocol.py163 def test_partial_request_line(self):CODE
LOWtests/test_python_protocol.py210 def test_partial_chunked_body(self):CODE
LOWtests/test_python_protocol.py235 def test_invalid_request_line(self):CODE
LOWtests/test_python_protocol.py249 def test_unsupported_http_version(self):CODE
LOWtests/test_python_protocol.py290 def test_multiple_requests_keepalive(self):CODE
LOWtests/test_python_protocol.py407 def test_from_parser_body_info(self):CODE
LOWtests/test_python_protocol.py492 def test_connection_close_header(self):CODE
LOWtests/test_python_protocol.py499 def test_connection_keepalive_header(self):CODE
1536 more matches not shown…
Empty Error Handlers168 hits · 840 pts
SeverityFileLineSnippetContext
HIGHtests/test_asgi_uwsgi_protocol.py76except socket.timeout:CODE
HIGHtests/test_asgi_header_security.py269except (InvalidHeader, ParseError):CODE
HIGHtests/test_asgi_header_security.py291except (InvalidHeader, ParseError):CODE
HIGHtests/test_http2_alpn.py171except Exception:CODE
HIGHtests/test_http2_alpn.py248except StopIteration:CODE
HIGHtests/test_http2_alpn.py267except StopIteration:CODE
HIGHtests/test_http2_alpn.py283except StopIteration:CODE
HIGHtests/support.py56except ValueError:CODE
HIGHtests/test_http2_live.py38except ImportError:CODE
HIGHtests/test_asgi_connection_close.py73except socket.timeout:CODE
HIGHtests/test_dirty_arbiter.py1190except asyncio.CancelledError:CODE
HIGHtests/test_dirty_arbiter.py1232except asyncio.CancelledError:CODE
HIGHtests/test_dirty_arbiter.py374except asyncio.CancelledError:CODE
HIGHtests/test_dirty_arbiter.py765except Exception:CODE
HIGHtests/test_dirty_arbiter.py1253except asyncio.CancelledError:CODE
HIGHtests/test_dirty_arbiter.py808except (asyncio.TimeoutError, TimeoutError):CODE
HIGHtests/test_asgi_keepalive_smuggling.py188except (asyncio.CancelledError, Exception):CODE
HIGHtests/treq_asgi.py106except ValueError:CODE
HIGHtests/test_dirty_integration.py236except asyncio.CancelledError:CODE
HIGHtests/test_dirty_integration.py271except asyncio.CancelledError:CODE
HIGHtests/test_dirty_integration.py242except Exception:CODE
HIGHtests/test_dirty_integration.py369except asyncio.CancelledError:CODE
HIGHtests/test_arbiter.py150except SystemExit:CODE
HIGHtests/test_signal_integration.py124except (ProcessLookupError, OSError):CODE
HIGHtests/test_signal_integration.py131except (ProcessLookupError, OSError):CODE
HIGHtests/treq.py245except StopIteration:CODE
HIGHtests/treq.py67except ValueError:CODE
HIGHtests/test_asgi_keepalive_pipeline.py28except ImportError:CODE
HIGHtests/test_http2_h2c.py413except OSError:CODE
HIGHtests/test_control_socket_integration.py129except (ProcessLookupError, OSError):CODE
HIGHtests/test_control_socket_integration.py136except (ProcessLookupError, OSError):CODE
HIGHtests/test_gthread.py339except (OSError, ValueError):CODE
HIGHtests/test_dirty_worker.py731except asyncio.IncompleteReadError:CODE
HIGHtests/docker/asgi_framework_compat/conftest.py86except httpx.RequestError:CODE
HIGH…er/asgi_framework_compat/tests/test_websocket_scope.py93except ConnectionClosedOK:CODE
HIGH…er/asgi_framework_compat/tests/test_websocket_scope.py103except ConnectionClosedOK:CODE
HIGH…er/asgi_framework_compat/tests/test_websocket_scope.py113except ConnectionClosedOK:CODE
HIGH…er/asgi_framework_compat/tests/test_websocket_scope.py124except ConnectionClosedOK:CODE
HIGH…er/asgi_framework_compat/tests/test_websocket_scope.py135except ConnectionClosedOK:CODE
HIGH…er/asgi_framework_compat/tests/test_websocket_scope.py151except ConnectionClosedOK:CODE
HIGH…er/asgi_framework_compat/tests/test_websocket_scope.py161except ConnectionClosedOK:CODE
HIGH…/asgi_framework_compat/frameworks/starlette_app/app.py210except Exception:CODE
HIGH…/asgi_framework_compat/frameworks/starlette_app/app.py221except Exception:CODE
HIGH…er/asgi_framework_compat/frameworks/fastapi_app/app.py215except WebSocketDisconnect:CODE
HIGH…er/asgi_framework_compat/frameworks/fastapi_app/app.py227except WebSocketDisconnect:CODE
HIGH…r/asgi_framework_compat/frameworks/litestar_app/app.py184except Exception:CODE
HIGH…r/asgi_framework_compat/frameworks/litestar_app/app.py196except Exception:CODE
HIGH…asgi_framework_compat/frameworks/blacksheep_app/app.py182except Exception:CODE
HIGH…asgi_framework_compat/frameworks/blacksheep_app/app.py194except Exception:CODE
HIGHtests/docker/per_app_allocation/test_per_app_e2e.py112except requests.exceptions.RequestException:CODE
HIGHtests/docker/uwsgi/conftest.py85except requests.RequestException:CODE
HIGH…ts/docker/asgi_compliance/test_websocket_compliance.py664except websockets.exceptions.ConnectionClosed:CODE
HIGHtests/docker/asgi_compliance/apps/websocket_app.py190except ValueError:CODE
HIGHtests/docker/asgi_compliance/apps/websocket_app.py307except ValueError:CODE
HIGHtests/docker/asgi_compliance/apps/websocket_app.py348except ValueError:CODE
HIGHtests/docker/asgi_compliance/apps/websocket_app.py439except ValueError:CODE
HIGHtests/docker/asgi_compliance/apps/framework_apps.py29except ImportError:CODE
HIGHtests/docker/asgi_compliance/apps/framework_apps.py39except ImportError:CODE
HIGHtests/docker/asgi_compliance/apps/framework_apps.py150except Exception:CODE
HIGHtests/docker/asgi_compliance/apps/framework_apps.py293except Exception:CODE
108 more matches not shown…
Excessive Try-Catch Wrapping182 hits · 196 pts
SeverityFileLineSnippetContext
LOWtests/test_http2_alpn.py171 except Exception:CODE
MEDIUMtests/test_dirty_arbiter.py370def mock_consumer():CODE
LOWtests/test_dirty_arbiter.py765 except Exception:CODE
LOWtests/test_dirty_integration.py242 except Exception:CODE
LOW⚡tests/test_arbiter.py297 except Exception:CODE
LOWtests/test_asgi_invalid_requests.py119 except Exception as exc: # parser rejected it outright, also fineCODE
LOW…/asgi_framework_compat/frameworks/starlette_app/app.py110 except Exception as e:CODE
MEDIUM…/asgi_framework_compat/frameworks/starlette_app/app.py111 print(f"Error serializing key {key}: {e}", file=sys.stderr)CODE
LOW…/asgi_framework_compat/frameworks/starlette_app/app.py127 except Exception as e:CODE
LOW…/asgi_framework_compat/frameworks/starlette_app/app.py210 except Exception:CODE
LOW…/asgi_framework_compat/frameworks/starlette_app/app.py221 except Exception:CODE
LOW…/asgi_framework_compat/frameworks/starlette_app/app.py231 except Exception as e:CODE
LOW…er/asgi_framework_compat/frameworks/fastapi_app/app.py106 except Exception as e:CODE
MEDIUM…er/asgi_framework_compat/frameworks/fastapi_app/app.py107 print(f"Error serializing key {key}: {e}", file=sys.stderr)CODE
LOW…er/asgi_framework_compat/frameworks/fastapi_app/app.py125 except Exception as e:CODE
LOW…er/asgi_framework_compat/frameworks/fastapi_app/app.py238 except Exception as e:CODE
LOW…r/asgi_framework_compat/frameworks/litestar_app/app.py184 except Exception:CODE
LOW…r/asgi_framework_compat/frameworks/litestar_app/app.py196 except Exception:CODE
LOW…asgi_framework_compat/frameworks/blacksheep_app/app.py182 except Exception:CODE
LOW…asgi_framework_compat/frameworks/blacksheep_app/app.py194 except Exception:CODE
LOWtests/docker/per_app_allocation/app.py83 except Exception as e:CODE
LOW⚡…s/docker/asgi_compliance/test_framework_integration.py161 except Exception as e:CODE
LOW⚡…s/docker/asgi_compliance/test_framework_integration.py324 except Exception as e:CODE
LOW…s/docker/asgi_compliance/test_framework_integration.py139 except Exception:CODE
LOW…s/docker/asgi_compliance/test_framework_integration.py302 except Exception:CODE
LOWtests/docker/asgi_compliance/apps/framework_apps.py150 except Exception:CODE
LOW⚡tests/docker/asgi_compliance/apps/framework_apps.py293 except Exception:CODE
LOWtests/docker/asgi_compliance/apps/streaming_app.py335 except Exception:CODE
LOWtests/docker/dirty_ttin_ttou/app.py58 except Exception as e:CODE
LOWtests/docker/dirty_ttin_ttou/app.py69 except Exception as e:CODE
LOWgunicorn/pidfile.py61 except Exception:CODE
LOWgunicorn/util.py103 except Exception:CODE
LOWgunicorn/util.py122 except Exception:CODE
LOWgunicorn/util.py131 except Exception:CODE
LOWgunicorn/util.py504 except Exception:CODE
MEDIUMgunicorn/util.py223def unlink(filename):CODE
LOWgunicorn/systemd.py71 except Exception:CODE
MEDIUMgunicorn/arbiter.py133 print("Error: restoring the previous logger "CODE
LOWgunicorn/arbiter.py121 except Exception:CODE
LOWgunicorn/arbiter.py132 except Exception:CODE
LOWgunicorn/arbiter.py281 except Exception:CODE
LOWgunicorn/arbiter.py483 except Exception:CODE
LOWgunicorn/arbiter.py762 except Exception as e:CODE
LOWgunicorn/arbiter.py774 except Exception:CODE
LOWgunicorn/arbiter.py919 except Exception:CODE
LOWgunicorn/arbiter.py1023 except Exception as e:CODE
LOWgunicorn/arbiter.py1034 except Exception as e:CODE
LOWgunicorn/glogging.py383 except Exception:CODE
LOWgunicorn/asgi/protocol.py779 except Exception as e:CODE
LOWgunicorn/asgi/protocol.py909 except Exception:CODE
LOWgunicorn/asgi/protocol.py1083 except Exception as e:CODE
LOWgunicorn/asgi/protocol.py1385 except Exception:CODE
LOWgunicorn/asgi/protocol.py1413 except Exception:CODE
LOWgunicorn/asgi/protocol.py1790 except Exception:CODE
LOWgunicorn/asgi/protocol.py1866 except Exception as e:CODE
LOWgunicorn/asgi/protocol.py1885 except Exception as e:CODE
LOWgunicorn/asgi/protocol.py1892 except Exception:CODE
LOWgunicorn/asgi/protocol.py1947 except Exception as e:CODE
LOWgunicorn/asgi/protocol.py1951 except Exception:CODE
LOWgunicorn/asgi/protocol.py2204 except Exception:CODE
122 more matches not shown…
Deep Nesting154 hits · 140 pts
SeverityFileLineSnippetContext
LOWtests/test_gtornado.py440CODE
LOWtests/test_asgi_worker.py75CODE
LOWtests/test_dirty_integration.py194CODE
LOWtests/test_dirty_integration.py285CODE
LOWtests/docker/asgi/app.py8CODE
LOWtests/docker/asgi_framework_compat/conftest.py57CODE
LOW…/docker/asgi_framework_compat/scripts/generate_grid.py79CODE
LOW…er/asgi_framework_compat/frameworks/django_app/asgi.py32CODE
LOW…gi_framework_compat/frameworks/django_app/consumers.py9CODE
LOW…r/asgi_framework_compat/frameworks/django_app/views.py17CODE
LOW…/asgi_framework_compat/frameworks/starlette_app/app.py46CODE
LOW…/asgi_framework_compat/frameworks/starlette_app/app.py66CODE
LOW…er/asgi_framework_compat/frameworks/fastapi_app/app.py42CODE
LOW…er/asgi_framework_compat/frameworks/fastapi_app/app.py62CODE
LOW…r/asgi_framework_compat/frameworks/litestar_app/app.py40CODE
LOW…asgi_framework_compat/frameworks/blacksheep_app/app.py42CODE
LOW…cker/asgi_framework_compat/frameworks/quart_app/app.py40CODE
LOWtests/docker/dirty_arbiter/test_parent_death.py132CODE
LOWtests/docker/dirty_arbiter/test_parent_death.py500CODE
LOWtests/docker/per_app_allocation/test_per_app_e2e.py101CODE
LOWtests/docker/per_app_allocation/test_per_app_e2e.py137CODE
LOWtests/docker/per_app_allocation/app.py21CODE
LOWtests/docker/http2/conftest.py49CODE
LOWtests/docker/http2/app.py10CODE
LOWtests/docker/test_asgi_uwsgi/app.py8CODE
LOWtests/docker/uwsgi/app.py15CODE
LOWtests/docker/asgi_compliance/conftest.py62CODE
LOWtests/docker/asgi_compliance/conftest.py290CODE
LOWtests/docker/asgi_compliance/conftest.py308CODE
LOW…ts/docker/asgi_compliance/test_streaming_compliance.py93CODE
LOWtests/docker/asgi_compliance/apps/lifespan_app.py28CODE
LOWtests/docker/asgi_compliance/apps/lifespan_app.py53CODE
LOWtests/docker/asgi_compliance/apps/websocket_app.py15CODE
LOWtests/docker/asgi_compliance/apps/websocket_app.py68CODE
LOWtests/docker/asgi_compliance/apps/websocket_app.py100CODE
LOWtests/docker/asgi_compliance/apps/websocket_app.py259CODE
LOWtests/docker/asgi_compliance/apps/websocket_app.py377CODE
LOWtests/docker/asgi_compliance/apps/framework_apps.py47CODE
LOWtests/docker/asgi_compliance/apps/framework_apps.py304CODE
LOWtests/docker/asgi_compliance/apps/http_app.py16CODE
LOWtests/docker/asgi_compliance/apps/http_app.py309CODE
LOWtests/docker/asgi_compliance/apps/http_app.py489CODE
LOWtests/docker/asgi_compliance/apps/http_app.py537CODE
LOWtests/docker/asgi_compliance/apps/streaming_app.py17CODE
LOWtests/docker/asgi_compliance/apps/streaming_app.py106CODE
LOWtests/docker/asgi_compliance/apps/streaming_app.py205CODE
LOWtests/docker/asgi_compliance/apps/streaming_app.py249CODE
LOWtests/docker/asgi_compliance/apps/streaming_app.py293CODE
LOWtests/docker/asgi_compliance/apps/streaming_app.py380CODE
LOWtests/docker/asgi_compliance/apps/main_app.py29CODE
LOWtests/docker/asgi_compliance/apps/main_app.py98CODE
LOWtests/docker/dirty_ttin_ttou/test_ttin_ttou_docker.py106CODE
LOWtests/docker/stress/conftest.py91CODE
LOWtests/docker/stress/apps/stress_app.py257CODE
LOWtests/support/uwsgi_asgi_app.py4CODE
LOWtests/ctl/test_server.py328CODE
LOWgunicorn/pidfile.py64CODE
LOWgunicorn/reloader.py54CODE
LOWgunicorn/util.py88CODE
LOWgunicorn/util.py521CODE
94 more matches not shown…
Docstring Block Structure26 hits · 130 pts
SeverityFileLineSnippetContext
HIGHgunicorn/asgi/uwsgi.py67Parse a uWSGI request asynchronously. Args: cfg: gunicorn config object unreader: AsyncSTRING
HIGHgunicorn/http2/async_connection.py197Receive data and return completed requests. Args: timeout: Optional timeout in seconds for read opeSTRING
HIGHgunicorn/http2/async_connection.py728Send trailing headers on a stream. Trailers are headers sent after the response body, commonly used forSTRING
HIGHgunicorn/http2/connection.py202Process received data and return new requests. A request is returned as soon as its headers are in; its body isSTRING
HIGHgunicorn/http2/connection.py653Send a response on a stream. Args: stream_id: The stream ID to respond on status: HTTP STRING
HIGHgunicorn/http2/connection.py817Send trailing headers on a stream. Trailers are headers sent after the response body, commonly used forSTRING
HIGHgunicorn/dirty/worker.py451 Execute an action on a dirty app. The action runs in a thread pool executor to avoid blocking the STRING
HIGHgunicorn/dirty/protocol.py132 Decode the 16-byte message header. Args: data: 16 bytes of header data Returns: STRING
HIGHgunicorn/dirty/protocol.py360 Decode a complete message (header + payload). Args: data: Complete message bytes STRING
HIGHgunicorn/dirty/protocol.py409 Read a complete binary message from async stream. Args: reader: asyncio StreamReader STRING
HIGHgunicorn/dirty/protocol.py493 Receive exactly n bytes from a socket. Args: sock: Socket to read from n: NumbSTRING
HIGHgunicorn/dirty/protocol.py521 Read a complete message from socket (sync). Args: sock: Socket to read from ReturSTRING
HIGHgunicorn/dirty/client.py81 Execute an action on a dirty app (sync/blocking). Args: app_path: Import path of the dirtySTRING
HIGHgunicorn/dirty/client.py139 Stream results from a dirty app action (sync). This method returns an iterator that yields chunks fromSTRING
HIGHgunicorn/dirty/client.py224 Execute an action on a dirty app (async/non-blocking). Args: app_path: Import path of the STRING
HIGHgunicorn/dirty/client.py280 Stream results from a dirty app action (async). This method returns an async iterator that yields chunSTRING
HIGHgunicorn/dirty/tlv.py54 Encode a Python value to TLV binary format. Args: value: Python value to encode (None, booSTRING
HIGHgunicorn/dirty/tlv.py129 Decode a TLV-encoded value from binary data. Args: data: Binary data to decode STRING
HIGHgunicorn/dirty/tlv.py285 Decode a complete TLV-encoded value, ensuring all data is consumed. Args: data: Binary datSTRING
HIGHgunicorn/dirty/app.py111 Handle a request from an HTTP worker. Args: action: The action/method name to execute STRING
HIGHgunicorn/dirty/app.py141 Parse a dirty app specification. Supports two formats: - ``"module:Class"`` - standard format, all workersSTRING
HIGHgunicorn/dirty/app.py216 Load a dirty app class from an import path. Args: import_path: String in format 'module.path:ClassNameSTRING
HIGHgunicorn/dirty/app.py282 Load multiple dirty apps from a list of import paths. Args: import_paths: List of import path strings STRING
HIGHgunicorn/dirty/app.py301 Get the workers class attribute from a dirty app without instantiating it. This is used by the arbiter to deteSTRING
HIGHgunicorn/ctl/protocol.py79 Read one message from a socket. Args: sock: Socket to read from Returns: STRING
HIGHgunicorn/ctl/client.py75 Send command and wait for response. Args: command: Command string (e.g., "show workers") STRING
Unused Imports113 hits · 103 pts
SeverityFileLineSnippetContext
LOWtests/test_http2_alpn.py312CODE
LOWtests/test_http2_alpn.py336CODE
LOWtests/test_dirty_errors.py7CODE
LOWtests/test_asgi_forwarded_headers.py14CODE
LOWtests/test_asgi_streaming.py14CODE
LOWtests/test_http2_live.py36CODE
LOWtests/test_asgi_connection_close.py18CODE
LOWtests/test_dirty_arbiter.py10CODE
LOWtests/test_dirty_tlv.py11CODE
LOWtests/test_dirty_tlv.py11CODE
LOWtests/test_dirty_tlv.py11CODE
LOWtests/test_asgi_parser_validation.py13CODE
LOWtests/test_dirty_integration.py8CODE
LOWtests/test_uwsgi.py5CODE
LOWtests/test_uwsgi.py11CODE
LOWtests/test_asgi_keepalive_pipeline.py13CODE
LOWtests/test_asgi_keepalive_pipeline.py26CODE
LOWtests/test_http2_connection.py979CODE
LOWtests/test_http2_h2c.py28CODE
LOWtests/test_asgi_protocol_http.py14CODE
LOWtests/test_asgi_protocol_http.py17CODE
LOWtests/test_asgi_protocol_http.py17CODE
LOWtests/test_dirty_stash.py7CODE
LOWtests/test_dirty_stash.py9CODE
LOWtests/test_control_socket_integration.py17CODE
LOWtests/test_control_socket_integration.py225CODE
LOWtests/test_http2_async_connection.py998CODE
LOWtests/test_dirty_worker.py15CODE
LOWtests/test_dirty_worker.py25CODE
LOWtests/docker/asgi_framework_compat/conftest.py8CODE
LOWtests/docker/asgi_framework_compat/conftest.py9CODE
LOW…s/docker/asgi_framework_compat/tests/test_streaming.py7CODE
LOW…er/asgi_framework_compat/tests/test_websocket_scope.py11CODE
LOW…er/asgi_framework_compat/tests/test_websocket_scope.py14CODE
LOW…/docker/asgi_framework_compat/scripts/generate_grid.py10CODE
LOW…asgi_framework_compat/frameworks/blacksheep_app/app.py11CODE
LOW…cker/asgi_framework_compat/frameworks/quart_app/app.py12CODE
LOWtests/docker/dirty_arbiter/test_parent_death.py27CODE
LOWtests/docker/per_app_allocation/test_per_app_e2e.py27CODE
LOWtests/docker/asgi_compliance/test_concurrency.py12CODE
LOWtests/docker/asgi_compliance/apps/framework_apps.py13CODE
LOWtests/docker/dirty_ttin_ttou/test_ttin_ttou_docker.py7CODE
LOWtests/requests/valid/compat_obs_fold.py5CODE
LOWtests/dirty/test_worker_streaming.py8CODE
LOWtests/dirty/test_worker_streaming.py13CODE
LOWtests/dirty/test_worker_streaming.py13CODE
LOWtests/dirty/test_worker_streaming.py13CODE
LOWtests/dirty/test_client_streaming_async.py8CODE
LOWtests/dirty/test_client_streaming_async.py11CODE
LOWtests/dirty/test_arbiter_streaming.py8CODE
LOWtests/dirty/test_client_streaming.py7CODE
LOWtests/dirty/test_client_streaming.py8CODE
LOWtests/dirty/test_client_streaming.py10CODE
LOWtests/dirty/test_client_streaming.py12CODE
LOWtests/dirty/test_client_streaming.py12CODE
LOWtests/dirty/test_client_streaming.py22CODE
LOWtests/dirty/test_multi_app_routing.py13CODE
LOWtests/dirty/test_streaming_integration.py13CODE
LOWtests/dirty/test_streaming_integration.py14CODE
LOWtests/dirty/test_streaming_integration.py19CODE
53 more matches not shown…
Redundant / Tautological Comments37 hits · 56 pts
SeverityFileLineSnippetContext
LOWtests/test_http2_integration.py13# Check if h2 is availableCOMMENT
LOWtests/test_http2_connection.py14# Check if h2 is available for integration testsCOMMENT
LOWtests/test_http2_h2c.py19# Check if h2 is availableCOMMENT
LOWtests/test_early_hints.py12# Check if h2 is available for HTTP/2 testsCOMMENT
LOWtests/test_http2_async_connection.py15# Check if h2 is available for integration testsCOMMENT
LOWtests/docker/asgi_framework_compat/conftest.py99 # Check if containers are already runningCOMMENT
LOW…ker/asgi_framework_compat/tests/test_lifespan_scope.py47 # Increment onceCOMMENT
LOW⚡…ker/asgi_framework_compat/tests/test_lifespan_scope.py91 # Increment counterCOMMENT
LOWtests/docker/dirty_arbiter/test_parent_death.py198 # Check if it's actually docker-init by checking its childrenCOMMENT
LOWtests/docker/http2/conftest.py92 # Check if Docker is availableCOMMENT
LOWtests/docker/http2/conftest.py102 # Check if docker compose is availableCOMMENT
LOWtests/docker/asgi_compliance/conftest.py99 # Check if Docker is availableCOMMENT
LOWtests/docker/asgi_compliance/conftest.py109 # Check if docker compose is availableCOMMENT
LOWtests/workers/test_gevent_import_order.py61 # Check if concurrent.futures is now importedCOMMENT
LOWtests/workers/test_gevent_import_order.py112 # Check if the lock is a gevent lockCOMMENT
LOWtests/workers/test_gevent_import_order.py172 # Check if the lock is a gevent lockCOMMENT
LOWgunicorn/sock.py257 # Check if h2 library is availableCOMMENT
LOWgunicorn/arbiter.py596 # Check if all remaining workers are newer than last_worker_ageCOMMENT
LOWgunicorn/arbiter.py854 # Check if process existsCOMMENT
LOWgunicorn/asgi/protocol.py427 # Check if HTTP/2 was negotiated via ALPNCOMMENT
LOWgunicorn/asgi/protocol.py1251 # Check if Content-Length or Transfer-Encoding is presentCOMMENT
LOWgunicorn/asgi/parser.py406 # Check if we have the complete headerCOMMENT
LOWgunicorn/http/message.py503 # Check if fast parser should be usedCOMMENT
LOWgunicorn/dirty/worker.py349 # Check if result is a generator (streaming)COMMENT
LOWgunicorn/dirty/stash.py362 # Check if key actually exists with None valueCOMMENT
LOWgunicorn/dirty/arbiter.py388 # Check if parent (main arbiter) died unexpectedlyCOMMENT
LOWgunicorn/workers/base_async.py47 # Check if HTTP/2 was negotiated (for SSL connections)COMMENT
LOWgunicorn/workers/gasgi.py205 # Check if parent is still aliveCOMMENT
LOWgunicorn/workers/gthread.py81 # Check if HTTP/2 was negotiated via ALPNCOMMENT
LOWgunicorn/workers/gthread.py415 # Check if we can accept more connectionsCOMMENT
LOWgunicorn/uwsgi/message.py63 # Check if the source IP is allowedCOMMENT
LOWexamples/http2_gevent/generate_certs.sh17# Check if certificates already existCOMMENT
LOWexamples/http2_gevent/test_http2_gevent.py297 # Check if pytest is availableCOMMENT
LOWexamples/celery_alternative/run_tests.sh24# Check if integration tests should runCOMMENT
LOWbenchmarks/http_parser_benchmark.py23# Check if fast parser is availableCOMMENT
LOWbenchmarks/http_parser_benchmark.py202 # Print resultsCOMMENT
LOWscripts/run_docker_tests.sh18# Set PYTEST to choose the runner, e.g. PYTEST=".venv/bin/python -m pytest".COMMENT
Over-Commented Block49 hits · 49 pts
SeverityFileLineSnippetContext
LOWappveyor.yml1version: '{branch}.{build}'COMMENT
LOWappveyor.yml21 #- TOXENV: py38COMMENT
LOWtests/config/__init__.py1#COMMENT
LOW…sts/invalid/rfc9112_target_authority_non_connect_01.py1#COMMENT
LOW…/requests/invalid/rfc9110_trailer_forbidden_host_01.py1#COMMENT
LOW…sts/requests/invalid/rfc9110_field_value_ctl_del_01.py1#COMMENT
LOW…ts/requests/invalid/rfc9110_trailer_forbidden_cl_01.py1#COMMENT
LOW…ests/invalid/rfc9112_target_asterisk_non_options_01.py1#COMMENT
LOW…ts/requests/invalid/rfc9110_trailer_forbidden_te_01.py1#COMMENT
LOWtests/requests/invalid/rfc9112_target_relative_01.py1#COMMENT
LOW…/requests/invalid/rfc9112_chunked_size_plus_sign_01.py1#COMMENT
LOW…ts/requests/invalid/rfc9112_smuggle_cl_list_form_01.py1#COMMENT
LOW…sts/requests/invalid/rfc9110_field_value_ctl_bel_01.py1#COMMENT
LOW…s/requests/invalid/rfc9112_smuggle_cl_te_chunked_01.py1#COMMENT
LOWtests/workers/__init__.py1#COMMENT
LOWtests/ctl/__init__.py1#COMMENT
LOWgunicorn/util.py561 fd_null = os.open(REDIRECT_TO, os.O_RDWR)COMMENT
LOWgunicorn/util.py581 #COMMENT
LOWgunicorn/app/__init__.py1#COMMENT
LOWgunicorn/instrument/__init__.py1#COMMENT
LOWgunicorn/http/message.py881 if not 3 <= len(bits[0]) <= 20:COMMENT
LOWgunicorn/workers/gthread.py481 req = NoneCOMMENT
LOWexamples/alt_spec.py1#COMMENT
LOWexamples/multiapp.py1#COMMENT
LOWexamples/standalone_app.py1#COMMENT
LOWexamples/readline_app.py1#COMMENT
LOWexamples/example_config.py1#COMMENT
LOWexamples/example_config.py21# Must be a positive integer. Generally set in the 64-2048COMMENT
LOWexamples/example_config.py41# https://gunicorn.org/design/#choosing-a-worker-typeCOMMENT
LOWexamples/example_config.py61# higher if you're sure of the repercussions for sync workers.COMMENT
LOWexamples/example_config.py81# nuclear option.COMMENT
LOWexamples/example_config.py101#COMMENT
LOWexamples/example_config.py141# LoggingCOMMENT
LOWexamples/example_config.py161# that Gunicorn processes are reported in the system processCOMMENT
LOWexamples/streaming_chat/__init__.py1#COMMENT
LOWexamples/http2_features/__init__.py1#COMMENT
LOWexamples/http2_gevent/docker-compose.yml1# HTTP/2 with Gevent Docker ComposeCOMMENT
LOWexamples/deep/__init__.py1#COMMENT
LOWexamples/dirty_example/__init__.py1#COMMENT
LOWexamples/embedding_service/__init__.py1#COMMENT
LOWexamples/frameworks/django/testing/testing/__init__.py1#COMMENT
LOWexamples/frameworks/django/testing/testing/settings.py61COMMENT
LOW…les/frameworks/django/testing/testing/apps/__init__.py1#COMMENT
LOW…ameworks/django/testing/testing/apps/someapp/models.py1#COMMENT
LOW…eworks/django/testing/testing/apps/someapp/__init__.py1#COMMENT
LOWexamples/celery_alternative/docker-compose.yml61# - redisCOMMENT
LOWexamples/celery_alternative/tests/__init__.py1#COMMENT
LOWscripts/update_thanks.py1#COMMENT
LOWscripts/run_docker_tests.sh1#!/bin/shCOMMENT
Cross-File Repetition3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHtests/test_http2_integration.py0real gunicorn configuration with the http/2 defaults these tests want. http2request applies the same header policy as htSTRING
HIGHtests/test_http2_connection.py0real gunicorn configuration with the http/2 defaults these tests want. http2request applies the same header policy as htSTRING
HIGHtests/test_http2_async_connection.py0real gunicorn configuration with the http/2 defaults these tests want. http2request applies the same header policy as htSTRING
Modern Structural Boilerplate13 hits · 13 pts
SeverityFileLineSnippetContext
LOWgunicorn/debug.py13__all__ = ['spew', 'unspew']CODE
LOWgunicorn/asgi/__init__.py24__all__ = ['AsyncUnreader', 'LifespanManager']CODE
LOWgunicorn/http2/async_connection.py949__all__ = ['AsyncHTTP2Connection']CODE
LOWgunicorn/http2/request.py376__all__ = ['HTTP2Request', 'HTTP2Body']CODE
LOWgunicorn/http2/__init__.py80__all__ = [CODE
LOWgunicorn/http2/stream.py437__all__ = ['HTTP2Stream', 'StreamState']CODE
LOWgunicorn/http2/connection.py991__all__ = ['HTTP2ServerConnection']CODE
LOWgunicorn/http2/errors.py149__all__ = [CODE
LOWgunicorn/http/__init__.py36__all__ = ['Message', 'Request', 'RequestParser', 'get_parser']CODE
LOWgunicorn/dirty/__init__.py54__all__ = [CODE
LOWgunicorn/uwsgi/__init__.py14__all__ = [CODE
LOWgunicorn/ctl/__init__.py16__all__ = ['ControlSocketServer', 'ControlClient', 'ControlProtocol']CODE
LOWexamples/websocket/gevent_websocket.py19logger = logging.getLogger(__name__)CODE
Verbosity Indicators7 hits · 12 pts
SeverityFileLineSnippetContext
LOW⚡tests/test_asgi_compliance.py1022 # Step 1: App reads the bodyCOMMENT
LOW⚡tests/test_asgi_compliance.py1031 # Step 2: App would send response here (simulated)COMMENT
LOW⚡tests/test_asgi_compliance.py1034 # Step 3: App starts listening for disconnect (like Django does)COMMENT
LOW⚡tests/workers/test_gevent_import_order.py223 # Step 1: User starts gunicorn - gunicorn.arbiter gets importedCOMMENT
LOW⚡tests/workers/test_gevent_import_order.py227 # Step 2: Verify concurrent.futures was NOT imported yetCOMMENT
LOW⚡tests/workers/test_gevent_import_order.py231 # Step 3: Now user's config file runs with monkey.patch_all()COMMENT
LOW⚡tests/workers/test_gevent_import_order.py236 # Step 4: Now import concurrent.futures (after patching)COMMENT
Structural Annotation Overuse7 hits · 12 pts
SeverityFileLineSnippetContext
LOW⚡tests/test_asgi_compliance.py1022 # Step 1: App reads the bodyCOMMENT
LOW⚡tests/test_asgi_compliance.py1031 # Step 2: App would send response here (simulated)COMMENT
LOW⚡tests/test_asgi_compliance.py1034 # Step 3: App starts listening for disconnect (like Django does)COMMENT
LOW⚡tests/workers/test_gevent_import_order.py223 # Step 1: User starts gunicorn - gunicorn.arbiter gets importedCOMMENT
LOW⚡tests/workers/test_gevent_import_order.py227 # Step 2: Verify concurrent.futures was NOT imported yetCOMMENT
LOW⚡tests/workers/test_gevent_import_order.py231 # Step 3: Now user's config file runs with monkey.patch_all()COMMENT
LOW⚡tests/workers/test_gevent_import_order.py236 # Step 4: Now import concurrent.futures (after patching)COMMENT
Cross-Language Confusion2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHexamples/asgi/websocket_app.py191 let ws = null;CODE
HIGHexamples/asgi/websocket_app.py210 ws.onclose = () => { log('Disconnected', 'error'); ws = null; };CODE
Slop Phrases5 hits · 10 pts
SeverityFileLineSnippetContext
LOWgunicorn/errors.py12# we inherit from BaseException here to make sure to not be caughtCOMMENT
MEDIUMgunicorn/instrument/statsd.py112 # you can use those directly if you wantCOMMENT
MEDIUMexamples/streaming_chat/chat_app.py43 "Here's a simple example:\n\n"CODE
LOWexamples/frameworks/django/testing/testing/settings.py76 # Don't forget to use absolute paths, not relative paths.COMMENT
LOWexamples/frameworks/django/testing/testing/settings.py129 # Don't forget to use absolute paths, not relative paths.COMMENT
Overly Generic Function Names7 hits · 8 pts
SeverityFileLineSnippetContext
LOWtests/test_http2_h2c.py382 def handle_request(self, listener_name, req, sock, addr):CODE
LOW⚡gunicorn/dirty/worker.py315 async def handle_request(self, message, writer):CODE
LOWgunicorn/workers/sync.py168 def handle_request(self, listener, req, client, addr):CODE
LOW⚡gunicorn/workers/base_async.py311 def handle_request(self, listener_name, req, sock, addr):CODE
LOWgunicorn/workers/gtornado.py39 def handle_request(self):CODE
LOWgunicorn/workers/ggevent.py122 def handle_request(self, listener_name, req, sock, addr):CODE
LOWgunicorn/workers/gthread.py715 def handle_request(self, req, conn):CODE
Example Usage Blocks5 hits · 8 pts
SeverityFileLineSnippetContext
LOWtests/docker/asgi_framework_compat/docker-compose.yml4# Usage:COMMENT
LOWtests/docker/asgi_framework_compat/scripts/run_tests.sh4# Usage:COMMENT
LOWexamples/readline_app.py7# Usage:COMMENT
LOWexamples/http2_gevent/docker-compose.yml3# Usage:COMMENT
LOWscripts/run_docker_tests.sh14# Usage:COMMENT
AI Structural Patterns4 hits · 4 pts
SeverityFileLineSnippetContext
LOWtests/docker/asgi_compliance/test_http2_asgi.py345CODE
LOWgunicorn/asgi/parser.py145CODE
LOWgunicorn/http/message.py649CODE
LOWexamples/dirty_example/dirty_app.py102CODE
Modern AI Meta-Vocabulary1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMtests/docker/asgi_framework_compat/README.md73├── docker-compose.yml # Container orchestrationCODE
Dead Code1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMtests/dirty/test_worker_streaming.py333CODE
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOWtests/test_http.py195 fake_sock = t.FakeSocket(io.BytesIO(b'Lorem ipsum dolor'))CODE
AI Slop Vocabulary1 hit · 0 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_arbiter.py175 """Set the 'preload_app' and 'raw_env' settings in order to verify theirSTRING