Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.
This report summarizes scanner evidence for tornadoweb/tornado, a Python project with 22,164 GitHub stars. SynthScan examined 54,019 lines of code across 173 source files, recording 868 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 18.6 (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.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 682 finding(s).
Are imports declared and package/API names verified? 34 finding(s).
Are wrappers, guards, and repeated structures necessary? 646 finding(s).
Which changes need focused human review? 868 finding(s).
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.
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.
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.
The scanner identified 868 distinct pattern matches across 15 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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/conf.py | 139 | def missing_reference_handler(app, env, node, contnode): | CODE |
| LOW | tornado/auth.py | 227 | def _on_authentication_verified( | CODE |
| LOW | tornado/auth.py | 520 | def _oauth_request_parameters( | CODE |
| LOW | tornado/auth.py | 890 | def get_google_oauth_settings(self) -> dict[str, str]: | CODE |
| LOW | tornado/concurrent.py | 117 | def run_on_executor_decorator(fn: Callable) -> Callable[..., Future]: | CODE |
| LOW | tornado/concurrent.py | 186 | def future_set_result_unless_cancelled( | CODE |
| LOW | tornado/concurrent.py | 200 | def future_set_exception_unless_cancelled( | CODE |
| LOW | tornado/web.py | 165 | class RequestHandler: | CODE |
| LOW | tornado/web.py | 924 | def get_signed_cookie_key_version( | CODE |
| LOW | tornado/web.py | 2063 | def _handle_request_exception(self, e: BaseException) -> None: | CODE |
| LOW | tornado/web.py | 2128 | def _clear_representation_headers(self) -> None: | CODE |
| LOW | tornado/web.py | 4194 | def get_signature_key_version(value: str | bytes) -> int | None: | CODE |
| LOW | tornado/web.py | 4224 | def _normalize_url_like_browser(url: str) -> str: | CODE |
| LOW | tornado/gen.py | 126 | def _value_from_stopiteration(e: Union[StopIteration, "Return"]) -> Any: | CODE |
| LOW | tornado/iostream.py | 1061 | def _maybe_add_error_listener(self) -> None: | CODE |
| LOW | tornado/httputil.py | 1088 | def parse_multipart_form_data( | STRING |
| LOW | tornado/httputil.py | 1212 | def parse_response_start_line(line: str) -> ResponseStartLine: | STRING |
| LOW | tornado/locale.py | 178 | def load_gettext_translations(directory: str, domain: str) -> None: | CODE |
| LOW | tornado/curl_httpclient.py | 434 | def handle_callback_exception(self, callback: Any) -> None: | CODE |
| LOW | tornado/testing.py | 753 | def setup_with_context_manager(testcase: unittest.TestCase, cm: Any) -> Any: | CODE |
| LOW | tornado/http1connection.py | 990 | def is_transfer_encoding_chunked(headers: httputil.HTTPHeaders) -> bool: | CODE |
| LOW | tornado/websocket.py | 651 | def _raise_not_supported_for_websockets(*args: Any, **kwargs: Any) -> None: | CODE |
| LOW | tornado/websocket.py | 926 | def _handle_websocket_headers(self, handler: WebSocketHandler) -> None: | CODE |
| LOW | tornado/test/httpclient_test.py | 147 | def _clear_representation_headers(self): | CODE |
| LOW | tornado/test/httpclient_test.py | 346 | def test_patch_receives_payload(self): | CODE |
| LOW | tornado/test/httpclient_test.py | 371 | def test_streaming_callback_large_body(self): | CODE |
| LOW | tornado/test/httpclient_test.py | 381 | def test_streaming_decompression_bomb(self): | CODE |
| LOW | tornado/test/httpclient_test.py | 407 | def test_decompression_bomb_without_streaming_callback(self): | CODE |
| LOW | tornado/test/httpclient_test.py | 432 | def test_streaming_unsolicited_brotli_bomb(self): | CODE |
| LOW⚡ | tornado/test/httpclient_test.py | 573 | def test_redirect_without_location(self): | STRING |
| LOW⚡ | tornado/test/httpclient_test.py | 581 | def test_redirect_put_with_body(self): | STRING |
| LOW⚡ | tornado/test/httpclient_test.py | 587 | def test_redirect_put_without_body(self): | STRING |
| LOW⚡ | tornado/test/httpclient_test.py | 596 | def test_method_after_redirect(self): | STRING |
| LOW⚡ | tornado/test/httpclient_test.py | 1374 | def test_decompressed_body_size(self): | STRING |
| LOW⚡ | tornado/test/httpclient_test.py | 1379 | def test_streaming_callback_over_limit(self): | STRING |
| LOW⚡ | tornado/test/httpclient_test.py | 1387 | def test_streaming_callback_decompressed_over_limit(self): | STRING |
| LOW | tornado/test/httpclient_test.py | 523 | def test_basic_auth_explicit_mode(self): | STRING |
| LOW | tornado/test/httpclient_test.py | 549 | def test_unsupported_auth_mode(self): | STRING |
| LOW | tornado/test/httpclient_test.py | 736 | def test_header_callback_to_parse_line(self): | STRING |
| LOW | tornado/test/httpclient_test.py | 860 | def test_future_http_error_no_raise(self): | STRING |
| LOW | tornado/test/httpclient_test.py | 867 | def test_reuse_request_from_response(self): | STRING |
| LOW | tornado/test/httpclient_test.py | 1029 | def test_strip_headers_on_redirect(self): | STRING |
| LOW | tornado/test/httpclient_test.py | 1253 | def test_if_modified_since_naive_deprecated(self): | STRING |
| LOW | tornado/test/queues_test.py | 88 | def test_nonblocking_get_exception(self): | CODE |
| LOW | tornado/test/queues_test.py | 129 | def test_get_timeout_preempted(self): | CODE |
| LOW | tornado/test/queues_test.py | 137 | def test_get_clears_timed_out_putters(self): | CODE |
| LOW | tornado/test/queues_test.py | 153 | def test_get_clears_timed_out_getters(self): | CODE |
| LOW | tornado/test/queues_test.py | 192 | def test_nonblocking_put_exception(self): | CODE |
| LOW | tornado/test/queues_test.py | 208 | def test_nonblocking_put_with_getters(self): | CODE |
| LOW | tornado/test/queues_test.py | 251 | def test_put_timeout_preempted(self): | CODE |
| LOW | tornado/test/queues_test.py | 260 | def test_put_clears_timed_out_putters(self): | CODE |
| LOW | tornado/test/queues_test.py | 275 | def test_put_clears_timed_out_getters(self): | CODE |
| LOW | tornado/test/auth_test.py | 497 | def test_twitter_redirect_gen_coroutine(self): | CODE |
| LOW | tornado/test/auth_test.py | 500 | def test_twitter_authenticate_redirect(self): | CODE |
| LOW | tornado/test/auth_test.py | 544 | def test_twitter_show_user_error(self): | CODE |
| LOW | tornado/test/httpserver_test.py | 85 | class HelloWorldRequestHandler(RequestHandler): | CODE |
| LOW | tornado/test/httpserver_test.py | 360 | def test_query_string_encoding(self): | CODE |
| LOW | tornado/test/httpserver_test.py | 370 | def test_empty_post_parameters(self): | CODE |
| LOW | tornado/test/httpserver_test.py | 433 | def test_malformed_first_line_response(self): | CODE |
| LOW | tornado/test/httpserver_test.py | 443 | def test_malformed_first_line_log(self): | CODE |
| 424 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tornado/options.py | 620 | except ValueError: | CODE |
| HIGH | tornado/web.py | 2499 | except TypeError: | CODE |
| HIGH | tornado/gen.py | 131 | except AttributeError: | CODE |
| HIGH | tornado/gen.py | 665 | except asyncio.CancelledError: | CODE |
| HIGH | tornado/iostream.py | 1239 | except BlockingIOError: | CODE |
| HIGH | tornado/iostream.py | 1418 | except OSError: | CODE |
| HIGH | tornado/iostream.py | 653 | except asyncio.CancelledError: | CODE |
| HIGH | tornado/iostream.py | 665 | except asyncio.CancelledError: | CODE |
| HIGH | tornado/iostream.py | 623 | except UnsatisfiableReadError: | CODE |
| HIGH | tornado/log.py | 68 | except Exception: | CODE |
| HIGH | tornado/netutil.py | 237 | except FileNotFoundError: | CODE |
| HIGH | tornado/httputil.py | 588 | except Exception: | CODE |
| HIGH | tornado/httputil.py | 594 | except Exception: | CODE |
| HIGH | tornado/ioloop.py | 773 | except asyncio.CancelledError: | CODE |
| HIGH | tornado/ioloop.py | 819 | except OSError: | CODE |
| HIGH | tornado/ioloop.py | 766 | except gen.BadYieldError: | CODE |
| HIGH | tornado/curl_httpclient.py | 142 | except pycurl.error: | CODE |
| HIGH | tornado/process.py | 50 | except NotImplementedError: | CODE |
| HIGH | tornado/process.py | 54 | except (AttributeError, ValueError): | CODE |
| HIGH | tornado/testing.py | 79 | except ValueError: | CODE |
| HIGH | tornado/testing.py | 186 | except asyncio.CancelledError: | CODE |
| HIGH | tornado/simple_httpclient.py | 668 | except KeyError: | CODE |
| HIGH | tornado/simple_httpclient.py | 695 | except KeyError: | CODE |
| HIGH | tornado/http1connection.py | 932 | except Exception: | CODE |
| HIGH | tornado/test/httpclient_test.py | 451 | except HTTPError: | CODE |
| HIGH | tornado/test/httpclient_test.py | 701 | except HTTPError: | CODE |
| HIGH | tornado/test/gen_test.py | 551 | except asyncio.CancelledError: | CODE |
| HIGH | tornado/test/gen_test.py | 676 | except ValueError: | CODE |
| HIGH | tornado/test/web_test.py | 4330 | except ValueError: | CODE |
| HIGH | tornado/test/websocket_test.py | 77 | except asyncio.CancelledError: | CODE |
| HIGH | tornado/test/websocket_test.py | 79 | except WebSocketClosedError: | CODE |
| HIGH | tornado/test/websocket_test.py | 123 | except RuntimeError: | CODE |
| HIGH | tornado/test/testing_test.py | 83 | except asyncio.CancelledError: | CODE |
| HIGH | tornado/test/tcpserver_test.py | 94 | except OSError: | CODE |
| HIGH | tornado/test/asyncio_test.py | 130 | except Exception: | CODE |
| HIGH | tornado/platform/asyncio.py | 234 | except RuntimeError: | CODE |
| HIGH | tornado/platform/asyncio.py | 241 | except AttributeError: | CODE |
| HIGH | tornado/platform/asyncio.py | 255 | except RuntimeError: | CODE |
| HIGH | tornado/platform/asyncio.py | 580 | except BlockingIOError: | CODE |
| HIGH | tornado/platform/asyncio.py | 586 | except BlockingIOError: | CODE |
| HIGH | tornado/platform/asyncio.py | 651 | except RuntimeError: | CODE |
| HIGH | tornado/platform/asyncio.py | 658 | except AttributeError: | CODE |
| HIGH | tornado/platform/asyncio.py | 124 | except KeyError: | CODE |
| HIGH | maint/benchmark/dos_benchmark.py | 237 | except OSError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | requirements.txt | 1 | # | COMMENT |
| LOW | requirements.txt | 21 | charset-normalizer==3.5.1 | COMMENT |
| LOW | requirements.txt | 41 | # via -r requirements.in | COMMENT |
| LOW | requirements.txt | 61 | # via | COMMENT |
| LOW | requirements.txt | 81 | pycodestyle==2.14.0 | COMMENT |
| LOW | requirements.txt | 101 | roman-numerals==4.1.0 | COMMENT |
| LOW | requirements.txt | 121 | # via sphinx | COMMENT |
| LOW | requirements.txt | 141 | # via pip-tools | COMMENT |
| LOW | runtests.sh | 1 | #!/bin/sh | COMMENT |
| LOW | setup.py | 1 | # | COMMENT |
| LOW | tox.ini | 1 | # Tox (https://tox.readthedocs.io) is a tool for running tests | COMMENT |
| LOW | tox.ini | 21 | py311,py312,py313,py314,py315,pypy3 | COMMENT |
| LOW | tox.ini | 61 | # cog.outl(f"{{{",".join(versions)}}}: TORNADO_EXTENSION=1") | COMMENT |
| LOW | tox.ini | 81 | COMMENT | |
| LOW | tox.ini | 121 | commands = | COMMENT |
| LOW | tornado/options.py | 1 | # | COMMENT |
| LOW | tornado/auth.py | 1 | # | COMMENT |
| LOW | tornado/concurrent.py | 1 | # | COMMENT |
| LOW | tornado/escape.py | 1 | # | COMMENT |
| LOW | tornado/web.py | 1 | # | COMMENT |
| LOW | tornado/web.py | 681 | # Legacy check for control characters in cookie values. This check is no longer needed | COMMENT |
| LOW | tornado/web.py | 2961 | COMMENT | |
| LOW | tornado/web.py | 3221 | # and the path this method returns - refer to the file that will | COMMENT |
| LOW | tornado/web.py | 3241 | 403, "cannot redirect path with two initial slashes" | COMMENT |
| LOW | tornado/web.py | 3341 | permissions on a directory that untrusted users can write to. | COMMENT |
| LOW | tornado/queues.py | 1 | # Copyright 2015 The Tornado Authors | COMMENT |
| LOW | tornado/_locale_data.py | 1 | # Copyright 2012 Facebook | COMMENT |
| LOW | tornado/iostream.py | 1 | # | COMMENT |
| LOW | tornado/iostream.py | 601 | else: | COMMENT |
| LOW | tornado/iostream.py | 781 | # SSL sockets do some internal buffering, and if the data is | COMMENT |
| LOW | tornado/iostream.py | 821 | if self._read_future is not None: | COMMENT |
| LOW | tornado/iostream.py | 1501 | def connect( | COMMENT |
| LOW | tornado/iostream.py | 1521 | # Call the superclass method to check for errors. | COMMENT |
| LOW | tornado/iostream.py | 1581 | # clip buffer size at 1GB since SSL sockets only support upto 2GB | COMMENT |
| LOW | tornado/log.py | 1 | # | COMMENT |
| LOW | tornado/util.py | 81 | # before the first member and between members, which are the only | COMMENT |
| LOW | tornado/locks.py | 1 | # Copyright 2015 The Tornado Authors | COMMENT |
| LOW | tornado/httpserver.py | 1 | # | COMMENT |
| LOW | tornado/__init__.py | 1 | # | COMMENT |
| LOW | tornado/netutil.py | 1 | # | COMMENT |
| LOW | tornado/netutil.py | 181 | sock.bind(sockaddr) | COMMENT |
| LOW | tornado/netutil.py | 281 | # (and rearranging this method to call accept() as many times | COMMENT |
| LOW | tornado/httputil.py | 1 | # | COMMENT |
| LOW | tornado/httputil.py | 281 | COMMENT | |
| LOW | tornado/httputil.py | 541 | # | COMMENT |
| LOW | tornado/httputil.py | 1221 | if not match: | COMMENT |
| LOW | tornado/ioloop.py | 1 | # | COMMENT |
| LOW | tornado/ioloop.py | 781 | COMMENT | |
| LOW | tornado/ioloop.py | 961 | # to the start of the next. If one call takes too long, | COMMENT |
| LOW | tornado/routing.py | 1 | # Copyright 2015 The Tornado Authors | COMMENT |
| LOW | tornado/tcpserver.py | 1 | # | COMMENT |
| LOW | tornado/template.py | 1 | # | COMMENT |
| LOW | tornado/locale.py | 1 | # Copyright 2009 Facebook | COMMENT |
| LOW | tornado/curl_httpclient.py | 1 | # | COMMENT |
| LOW | tornado/curl_httpclient.py | 141 | self.curl.pause(pycurl.PAUSE_CONT) | COMMENT |
| LOW | tornado/curl_httpclient.py | 281 | try: | COMMENT |
| LOW | tornado/process.py | 1 | # | COMMENT |
| LOW | tornado/autoreload.py | 1 | # | COMMENT |
| LOW | tornado/autoreload.py | 41 | Additionally, modifying these variables will cause reloading to behave | COMMENT |
| LOW | tornado/autoreload.py | 61 | # | COMMENT |
| 45 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tornado/options.py | 657 | except Exception: | CODE |
| LOW | tornado/concurrent.py | 63 | except Exception: | CODE |
| LOW | tornado/web.py | 1362 | except Exception: | CODE |
| LOW | tornado/web.py | 1376 | except Exception: | CODE |
| LOW | tornado/web.py | 1649 | except Exception: | CODE |
| LOW | tornado/web.py | 2022 | except Exception: | CODE |
| LOW | tornado/web.py | 2027 | except Exception: | CODE |
| LOW | tornado/web.py | 2071 | except Exception: | CODE |
| LOW | tornado/web.py | 3151 | except Exception: | CODE |
| LOW | tornado/web.py | 3618 | except Exception as e: | CODE |
| LOW | tornado/web.py | 4127 | except Exception: | CODE |
| LOW | tornado/web.py | 4190 | except Exception: | CODE |
| MEDIUM⚡ | tornado/httpclient.py | 75 | print("Error: " + str(e)) | STRING |
| LOW⚡ | tornado/httpclient.py | 76 | except Exception as e: | STRING |
| MEDIUM⚡ | tornado/httpclient.py | 78 | print("Error: " + str(e)) | STRING |
| LOW | tornado/httpclient.py | 149 | except Exception as e: | STRING |
| MEDIUM | tornado/httpclient.py | 150 | print("Error: %s" % e) | STRING |
| LOW | tornado/gen.py | 220 | except Exception: | CODE |
| LOW | tornado/gen.py | 242 | except Exception: | CODE |
| LOW | tornado/gen.py | 331 | except Exception as e: | STRING |
| MEDIUM | tornado/gen.py | 332 | print("Error {} from {}".format(e, wait_iterator.current_future)) | STRING |
| LOW | tornado/gen.py | 667 | except Exception as e: | CODE |
| LOW | tornado/gen.py | 847 | except Exception: | STRING |
| MEDIUM | tornado/iostream.py | 806 | def _handle_read(self) -> None: | CODE |
| LOW | tornado/iostream.py | 760 | except Exception as e: | CODE |
| LOW | tornado/iostream.py | 813 | except Exception as e: | CODE |
| LOW | tornado/iostream.py | 1450 | except Exception: | STRING |
| LOW | tornado/log.py | 68 | except Exception: | CODE |
| LOW | tornado/log.py | 190 | except Exception as e: | STRING |
| MEDIUM | tornado/log.py | 56 | def _stderr_supports_color() -> bool: | CODE |
| LOW | tornado/httputil.py | 575 | except Exception as e: | STRING |
| LOW | tornado/httputil.py | 588 | except Exception: | CODE |
| LOW | tornado/httputil.py | 594 | except Exception: | CODE |
| LOW | tornado/httputil.py | 1060 | except Exception as e: | STRING |
| LOW | tornado/httputil.py | 1084 | except Exception as e: | STRING |
| LOW | tornado/ioloop.py | 505 | except Exception: | CODE |
| LOW | tornado/ioloop.py | 775 | except Exception: | CODE |
| LOW | tornado/ioloop.py | 944 | except Exception: | CODE |
| MEDIUM | tornado/ioloop.py | 498 | def run() -> None: | CODE |
| LOW | tornado/tcpserver.py | 382 | except Exception: | CODE |
| LOW | tornado/template.py | 342 | except Exception: | CODE |
| LOW | tornado/locale.py | 212 | except Exception as e: | CODE |
| LOW | tornado/curl_httpclient.py | 347 | except Exception as e: | CODE |
| LOW | tornado/curl_httpclient.py | 382 | except Exception: | CODE |
| LOW | tornado/curl_httpclient.py | 429 | except Exception: | CODE |
| LOW | tornado/autoreload.py | 190 | except Exception: | CODE |
| LOW | tornado/autoreload.py | 315 | except Exception as e: | STRING |
| LOW | tornado/testing.py | 325 | except Exception: | CODE |
| MEDIUM | tornado/testing.py | 320 | def timeout_func() -> None: | CODE |
| LOW | tornado/simple_httpclient.py | 447 | except Exception: | CODE |
| MEDIUM | tornado/simple_httpclient.py | 283 | def run(self) -> None: | CODE |
| LOW | tornado/http1connection.py | 932 | except Exception: | CODE |
| LOW | tornado/http1connection.py | 961 | except Exception: | CODE |
| LOW | tornado/tcpclient.py | 145 | except Exception as e: | CODE |
| LOW | tornado/websocket.py | 995 | except Exception: | CODE |
| LOW | tornado/test/auth_test.py | 101 | except Exception as e: | CODE |
| MEDIUM | tornado/test/httpserver_test.py | 341 | def decode_argument(self, value, name=None): | CODE |
| LOW | tornado/test/httpserver_test.py | 344 | except Exception: | CODE |
| LOW | tornado/test/process_test.py | 124 | except Exception: | CODE |
| LOW | tornado/test/twisted_test.py | 28 | except Exception: | CODE |
| 15 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tornado/options.py | 361 | CODE | |
| LOW | tornado/escape.py | 278 | CODE | |
| LOW | tornado/web.py | 2175 | CODE | |
| LOW | tornado/web.py | 3768 | CODE | |
| LOW | tornado/web.py | 406 | CODE | |
| LOW | tornado/web.py | 1443 | CODE | |
| LOW | tornado/web.py | 1957 | CODE | |
| LOW | tornado/web.py | 2186 | CODE | |
| LOW | tornado/web.py | 2472 | CODE | |
| LOW | tornado/web.py | 2487 | CODE | |
| LOW | tornado/web.py | 3369 | CODE | |
| LOW | tornado/web.py | 3783 | CODE | |
| LOW | tornado/gen.py | 517 | CODE | |
| LOW | tornado/gen.py | 907 | CODE | |
| LOW | tornado/gen.py | 549 | CODE | |
| LOW | tornado/gen.py | 795 | CODE | |
| LOW | tornado/iostream.py | 576 | CODE | |
| LOW | tornado/iostream.py | 880 | CODE | |
| LOW | tornado/iostream.py | 947 | CODE | |
| LOW | tornado/iostream.py | 1432 | CODE | |
| LOW | tornado/log.py | 56 | CODE | |
| LOW | tornado/netutil.py | 75 | CODE | |
| LOW | tornado/httputil.py | 1029 | CODE | |
| LOW | tornado/httputil.py | 581 | CODE | |
| LOW | tornado/routing.py | 613 | CODE | |
| LOW | tornado/template.py | 863 | CODE | |
| LOW | tornado/locale.py | 91 | CODE | |
| LOW | tornado/locale.py | 329 | CODE | |
| LOW | tornado/curl_httpclient.py | 121 | CODE | |
| LOW | tornado/simple_httpclient.py | 283 | CODE | |
| LOW | tornado/simple_httpclient.py | 622 | CODE | |
| LOW | tornado/http1connection.py | 221 | CODE | |
| LOW | tornado/http1connection.py | 722 | CODE | |
| LOW | tornado/http1connection.py | 850 | CODE | |
| LOW | tornado/websocket.py | 1254 | CODE | |
| LOW | tornado/test/httpclient_test.py | 781 | CODE | |
| LOW | tornado/test/httpserver_test.py | 395 | CODE | |
| LOW | tornado/test/httpserver_test.py | 1288 | CODE | |
| LOW | tornado/test/circlerefs_test.py | 72 | CODE | |
| LOW | tornado/test/gen_test.py | 924 | CODE | |
| LOW | tornado/test/gen_test.py | 1008 | CODE | |
| LOW | tornado/test/web_test.py | 1951 | CODE | |
| LOW | tornado/test/autoreload_test.py | 105 | CODE | |
| LOW | tornado/test/simple_httpclient_test.py | 817 | CODE | |
| LOW | tornado/test/httputil_test.py | 377 | CODE | |
| LOW | tornado/test/util_test.py | 58 | CODE | |
| LOW | tornado/test/util_test.py | 91 | CODE | |
| LOW | tornado/test/util_test.py | 439 | CODE | |
| LOW | tornado/test/iostream_test.py | 990 | CODE | |
| LOW | tornado/test/iostream_test.py | 1686 | CODE | |
| LOW | tornado/platform/asyncio.py | 598 | CODE | |
| LOW | maint/test/redbot/red_test.py | 76 | CODE | |
| LOW | demos/file_upload/file_uploader.py | 26 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/conf.py | 151 | # Define the canonical URL if you are using a custom domain on Read the Docs | COMMENT |
| MEDIUM | tornado/httpclient.py | 102 | # Create the client while our IOLoop is "current", without | COMMENT |
| MEDIUM | tornado/gen.py | 207 | # This function is type-annotated with a comment to work around | COMMENT |
| MEDIUM | tornado/iostream.py | 766 | # This method is called from _handle_read and _try_inline_read. | COMMENT |
| MEDIUM | tornado/iostream.py | 1062 | # This method is part of an optimization: to detect a connection that | COMMENT |
| MEDIUM | tornado/httputil.py | 687 | """This method is called by the server when a new request has started. | STRING |
| MEDIUM | tornado/httputil.py | 699 | """This method is called when a connection has been closed. | STRING |
| MEDIUM | tornado/ioloop.py | 272 | # Create a new asyncio event loop for this thread. | COMMENT |
| MEDIUM | tornado/ioloop.py | 793 | # This method is provided for use by `IOLoop` subclasses and should | COMMENT |
| MEDIUM | tornado/ioloop.py | 808 | # This method is provided for use by `IOLoop` subclasses (in | COMMENT |
| MEDIUM | tornado/wsgi.py | 50 | # This function is like those in the tornado.escape module, but defined | COMMENT |
| MEDIUM | tornado/platform/asyncio.py | 551 | # Create a thread to run the select system call. We manage this thread | COMMENT |
| MEDIUM | tornado/platform/asyncio.py | 731 | # This class is a __getattribute__-based proxy. All attributes other than those | COMMENT |
| MEDIUM | demos/blog/blog.py | 300 | # Create the global connection pool. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tornado/web.py | 333 | def set_default_headers(self) -> None: | CODE |
| LOW | tornado/web.py | 343 | def set_status(self, status_code: int, reason: str | None = None) -> None: | CODE |
| LOW | tornado/web.py | 376 | def set_header(self, name: str, value: _HeaderTypes) -> None: | CODE |
| LOW | tornado/web.py | 1906 | def set_etag_header(self) -> None: | CODE |
| LOW | tornado/web.py | 3110 | def set_headers(self) -> None: | CODE |
| LOW | tornado/web.py | 3522 | def set_extra_headers(self, path: str) -> None: | CODE |
| LOW | tornado/queues.py | 42 | __all__ = ["Queue", "PriorityQueue", "LifoQueue", "QueueFull", "QueueEmpty"] | CODE |
| LOW | tornado/queues.py | 57 | def _set_timeout(future: Future, timeout: None | float | datetime.timedelta) -> None: | CODE |
| LOW | tornado/iostream.py | 561 | def set_close_callback(self, callback: Callable[[], None] | None) -> None: | CODE |
| LOW | tornado/iostream.py | 694 | def set_nodelay(self, value: bool) -> None: | CODE |
| LOW | tornado/iostream.py | 1370 | def set_nodelay(self, value: bool) -> None: | STRING |
| LOW | tornado/locks.py | 24 | __all__ = ["Condition", "Event", "Semaphore", "BoundedSemaphore", "Lock"] | CODE |
| LOW | tornado/__init__.py | 31 | __all__ = [ | CODE |
| LOW | tornado/httputil.py | 1003 | def set_parse_body_config(config: ParseBodyConfig) -> None: | CODE |
| LOW | tornado/ioloop.py | 420 | def update_handler(self, fd: int | _Selectable, events: int) -> None: | CODE |
| LOW | tornado/ioloop.py | 741 | def set_default_executor(self, executor: concurrent.futures.Executor) -> None: | CODE |
| LOW | tornado/ioloop.py | 954 | def _update_next(self, current_time: float) -> None: | CODE |
| LOW | tornado/locale.py | 77 | def set_default_locale(code: str) -> None: | CODE |
| LOW | tornado/curl_httpclient.py | 250 | def _set_timeout(self, msecs: int) -> None: | CODE |
| LOW | tornado/process.py | 245 | def set_exit_callback(self, callback: Callable[[int], None]) -> None: | CODE |
| LOW | tornado/process.py | 346 | def _set_returncode(self, status: int) -> None: | CODE |
| LOW | tornado/http1connection.py | 374 | def set_close_callback(self, callback: Callable[[], None] | None) -> None: | CODE |
| LOW | tornado/http1connection.py | 422 | def set_body_timeout(self, timeout: float) -> None: | CODE |
| LOW | tornado/http1connection.py | 429 | def set_max_body_size(self, max_body_size: int) -> None: | CODE |
| LOW | tornado/tcpclient.py | 204 | def set_timeout(self, timeout: float) -> None: | CODE |
| LOW | tornado/tcpclient.py | 218 | def set_connect_timeout(self, connect_timeout: float | datetime.timedelta) -> None: | CODE |
| LOW | tornado/websocket.py | 582 | def set_nodelay(self, value: bool) -> None: | CODE |
| LOW | tornado/websocket.py | 751 | def set_nodelay(self, x: bool) -> None: | CODE |
| LOW | tornado/websocket.py | 1377 | def set_nodelay(self, x: bool) -> None: | CODE |
| LOW | tornado/platform/asyncio.py | 167 | def update_handler(self, fd: int | _Selectable, events: int) -> None: | CODE |
| LOW | tornado/platform/asyncio.py | 266 | def set_default_executor(self, executor: concurrent.futures.Executor) -> None: | CODE |
| LOW | demos/tcpecho/server.py | 11 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tornado/web.py | 108 | CODE | |
| LOW | tornado/web.py | 108 | CODE | |
| LOW | tornado/queues.py | 28 | CODE | |
| LOW | tornado/httpclient.py | 46 | CODE | |
| LOW | tornado/httpclient.py | 46 | CODE | |
| LOW | tornado/gen.py | 77 | CODE | |
| LOW | tornado/gen.py | 77 | CODE | |
| LOW | tornado/gen.py | 77 | CODE | |
| LOW | tornado/gen.py | 77 | CODE | |
| LOW | tornado/util.py | 13 | CODE | |
| LOW | tornado/locks.py | 19 | CODE | |
| LOW | tornado/locks.py | 19 | CODE | |
| LOW | tornado/httputil.py | 22 | CODE | |
| LOW | tornado/ioloop.py | 26 | CODE | |
| LOW | tornado/template.py | 221 | CODE | |
| LOW | tornado/locale.py | 40 | CODE | |
| LOW | tornado/testing.py | 26 | CODE | |
| LOW | tornado/testing.py | 26 | CODE | |
| LOW | tornado/simple_httpclient.py | 14 | CODE | |
| LOW | tornado/simple_httpclient.py | 14 | CODE | |
| LOW | tornado/http1connection.py | 27 | CODE | |
| LOW | tornado/http1connection.py | 27 | CODE | |
| LOW | tornado/tcpclient.py | 25 | CODE | |
| LOW | tornado/websocket.py | 27 | CODE | |
| LOW | tornado/websocket.py | 27 | CODE | |
| LOW | tornado/wsgi.py | 45 | CODE | |
| LOW | tornado/test/httpclient_test.py | 24 | CODE | |
| LOW | tornado/test/twisted_test.py | 38 | CODE | |
| LOW | tornado/test/ioloop_test.py | 12 | CODE | |
| LOW | tornado/test/ioloop_test.py | 18 | CODE | |
| LOW | tornado/test/websocket_test.py | 29 | CODE | |
| LOW | tornado/platform/asyncio.py | 49 | CODE | |
| LOW | tornado/platform/caresresolver.py | 3 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tox.ini | 127 | # here (must be completely unset, not just set to zero/empty). Remove this | COMMENT |
| LOW | tornado/httpclient.py | 208 | # It can't simply call _async_clients() because we may be in | COMMENT |
| LOW | tornado/iostream.py | 1595 | # simply return 0 bytes written. | STRING |
| MEDIUM | tornado/template.py | 912 | # This is especially useful in conjunction with jquery templates, | COMMENT |
| MEDIUM | tornado/curl_httpclient.py | 461 | # a bug in conjunction with the curl_multi_socket_action API | COMMENT |
| LOW | tornado/test/httpserver_test.py | 831 | # Unix sockets don't have remote addresses so they just return an | STRING |
| MEDIUM | tornado/test/circlerefs_test.py | 119 | # Construct a known leak scenario to make sure the test harness works. | COMMENT |
| MEDIUM | tornado/test/web_test.py | 1691 | # to disable Tornado's path validation (in conjunction with | COMMENT |
| MEDIUM | tornado/test/tcpserver_test.py | 156 | # harness too. | COMMENT |
| LOW | tornado/platform/asyncio.py | 634 | # polling the waker alone. If we are, just return to the | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tornado/options.py | 525 | CODE | |
| LOW | tornado/web.py | 641 | CODE | |
| LOW | tornado/httpclient.py | 137 | CODE | |
| LOW | tornado/httpclient.py | 358 | CODE | |
| LOW | tornado/httpclient.py | 634 | CODE | |
| LOW | tornado/httpserver.py | 159 | CODE | |
| LOW | tornado/netutil.py | 441 | CODE | |
| LOW | tornado/httputil.py | 479 | CODE | |
| LOW | tornado/websocket.py | 1696 | CODE | |
| LOW | tornado/test/gen_test.py | 397 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tornado/autoreload.py | 50 | # ----------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tornado/web.py | 2147 | * `.HTTPServerRequest.body` is undefined, and body arguments will not | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tornado/wsgi.py | 134 | async def handle_request(self, request: httputil.HTTPServerRequest) -> None: | STRING |
| LOW | tornado/test/httpserver_test.py | 1511 | def handle_request(request): | STRING |
| LOW | tornado/test/gen_test.py | 1123 | def do_something(): | CODE |
| LOW | tornado/test/gen_test.py | 1158 | def do_something(): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tornado/web.py | 3444 | # Close the file now, rather than when the generator is collected, | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tornado/routing.py | 64 | Here is a simple example of how we can we route to | STRING |