gitextract_ex8k9ysz/ ├── .cherry_picker.toml ├── .codecov.yml ├── .coveragerc.toml ├── .editorconfig ├── .git-blame-ignore-revs ├── .gitattributes ├── .github/ │ ├── CODEOWNERS │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ └── feature_request.yml │ ├── ISSUE_TEMPLATE.md │ ├── PULL_REQUEST_TEMPLATE.md │ ├── codeql.yml │ ├── config.yml │ ├── dependabot.yml │ ├── lock.yml │ └── workflows/ │ ├── auto-merge.yml │ ├── ci-cd.yml │ ├── codeql.yml │ ├── label-remove.yml │ ├── labels.yml │ └── stale.yml ├── .gitignore ├── .gitmodules ├── .lgtm.yml ├── .mypy.ini ├── .pip-tools.toml ├── .pre-commit-config.yaml ├── .readthedocs.yml ├── CHANGES/ │ ├── .TEMPLATE.rst │ ├── .gitignore │ ├── 10468.doc.rst │ ├── 10596.bugfix.rst │ ├── 10611.bugfix.rst │ ├── 10665.feature.rst │ ├── 10683.bugfix.rst │ ├── 10753.bugfix.rst │ ├── 10795.doc.rst │ ├── 11012.breaking.rst │ ├── 11268.feature.rst │ ├── 11283.bugfix.rst │ ├── 11601.breaking.rst │ ├── 11681.feature.rst │ ├── 11737.contrib.rst │ ├── 11763.feature.rst │ ├── 11766.feature.rst │ ├── 11776.misc.rst │ ├── 11826.contrib.rst │ ├── 11859.bugfix.rst │ ├── 11876.misc.rst │ ├── 11898.bugfix.rst │ ├── 11937.misc.rst │ ├── 11955.feature.rst │ ├── 11972.bugfix.rst │ ├── 11989.feature.rst │ ├── 11992.contrib.rst │ ├── 12027.misc.rst │ ├── 12030.bugfix.rst │ ├── 12042.doc.rst │ ├── 12069.packaging.rst │ ├── 12088.bugfix.rst │ ├── 12091.bugfix.rst │ ├── 12096.bugfix.rst │ ├── 12097.bugfix.rst │ ├── 12106.feature.rst │ ├── 12136.bugfix.rst │ ├── 12170.misc.rst │ ├── 12173.contrib.rst │ ├── 12195.bugfix.rst │ ├── 12231.bugfix.rst │ ├── 12240.bugfix.rst │ ├── 12249.bugfix.rst │ ├── 2174.bugfix │ ├── 2835.breaking.rst │ ├── 2977.breaking.rst │ ├── 3310.bugfix │ ├── 3462.feature │ ├── 3463.breaking.rst │ ├── 3482.bugfix │ ├── 3538.breaking.rst │ ├── 3539.breaking.rst │ ├── 3540.feature │ ├── 3542.breaking.rst │ ├── 3545.feature │ ├── 3547.breaking.rst │ ├── 3548.breaking.rst │ ├── 3559.doc │ ├── 3562.bugfix │ ├── 3569.feature │ ├── 3580.breaking.rst │ ├── 3612.bugfix │ ├── 3613.bugfix │ ├── 3642.doc │ ├── 3685.doc │ ├── 3721.bugfix │ ├── 3767.feature │ ├── 3787.feature │ ├── 3796.feature │ ├── 3890.breaking.rst │ ├── 3901.breaking.rst │ ├── 3929.breaking.rst │ ├── 3931.breaking.rst │ ├── 3932.breaking.rst │ ├── 3933.breaking.rst │ ├── 3934.breaking.rst │ ├── 3935.breaking.rst │ ├── 3939.breaking.rst │ ├── 3940.breaking.rst │ ├── 3942.breaking.rst │ ├── 3948.breaking.rst │ ├── 3994.misc │ ├── 4161.doc │ ├── 4277.feature │ ├── 4283.bugfix │ ├── 4299.bugfix │ ├── 4302.bugfix │ ├── 4368.bugfix │ ├── 4452.doc │ ├── 4504.doc │ ├── 4526.bugfix │ ├── 4558.bugfix │ ├── 4656.bugfix │ ├── 4695.doc │ ├── 4706.feature │ ├── 5075.feature │ ├── 5191.doc │ ├── 5258.bugfix │ ├── 5278.breaking.rst │ ├── 5284.breaking.rst │ ├── 5284.feature │ ├── 5287.feature │ ├── 5516.misc │ ├── 5533.misc │ ├── 5558.bugfix │ ├── 5634.feature │ ├── 5783.feature │ ├── 5806.misc │ ├── 5829.misc │ ├── 5870.misc │ ├── 5894.bugfix │ ├── 6180.bugfix │ ├── 6181.bugfix │ ├── 6193.feature │ ├── 6547.bugfix │ ├── 6721.misc │ ├── 6979.doc │ ├── 6998.doc │ ├── 7107.breaking.rst │ ├── 7265.breaking.rst │ ├── 7319.feature.rst │ ├── 7677.bugfix │ ├── 7772.bugfix │ ├── 7815.bugfix │ ├── 8048.breaking.rst │ ├── 8139.contrib.rst │ ├── 8197.doc │ ├── 8303.breaking.rst │ ├── 8596.breaking.rst │ ├── 8698.breaking.rst │ ├── 8957.breaking.rst │ ├── 9109.breaking.rst │ ├── 9212.packaging.rst │ ├── 9254.breaking.rst │ ├── 9292.breaking.rst │ ├── 9413.misc.rst │ └── README.rst ├── CHANGES.rst ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.rst ├── CONTRIBUTORS.txt ├── LICENSE.txt ├── MANIFEST.in ├── Makefile ├── README.rst ├── aiohttp/ │ ├── __init__.py │ ├── _cookie_helpers.py │ ├── _cparser.pxd │ ├── _find_header.h │ ├── _find_header.pxd │ ├── _http_parser.pyx │ ├── _http_writer.pyx │ ├── _websocket/ │ │ ├── __init__.py │ │ ├── helpers.py │ │ ├── mask.pxd │ │ ├── mask.pyx │ │ ├── models.py │ │ ├── reader.py │ │ ├── reader_c.pxd │ │ ├── reader_py.py │ │ └── writer.py │ ├── abc.py │ ├── base_protocol.py │ ├── client.py │ ├── client_exceptions.py │ ├── client_middleware_digest_auth.py │ ├── client_middlewares.py │ ├── client_proto.py │ ├── client_reqrep.py │ ├── client_ws.py │ ├── compression_utils.py │ ├── connector.py │ ├── cookiejar.py │ ├── formdata.py │ ├── hdrs.py │ ├── helpers.py │ ├── http.py │ ├── http_exceptions.py │ ├── http_parser.py │ ├── http_websocket.py │ ├── http_writer.py │ ├── log.py │ ├── multipart.py │ ├── payload.py │ ├── py.typed │ ├── pytest_plugin.py │ ├── resolver.py │ ├── streams.py │ ├── tcp_helpers.py │ ├── test_utils.py │ ├── tracing.py │ ├── typedefs.py │ ├── web.py │ ├── web_app.py │ ├── web_exceptions.py │ ├── web_fileresponse.py │ ├── web_log.py │ ├── web_middlewares.py │ ├── web_protocol.py │ ├── web_request.py │ ├── web_response.py │ ├── web_routedef.py │ ├── web_runner.py │ ├── web_server.py │ ├── web_urldispatcher.py │ ├── web_ws.py │ └── worker.py ├── docs/ │ ├── Makefile │ ├── _static/ │ │ └── css/ │ │ └── logo-adjustments.css │ ├── abc.rst │ ├── built_with.rst │ ├── changes.rst │ ├── client.rst │ ├── client_advanced.rst │ ├── client_middleware_cookbook.rst │ ├── client_quickstart.rst │ ├── client_reference.rst │ ├── code/ │ │ └── client_middleware_cookbook.py │ ├── conf.py │ ├── contributing-admins.rst │ ├── contributing.rst │ ├── deployment.rst │ ├── essays.rst │ ├── external.rst │ ├── faq.rst │ ├── glossary.rst │ ├── http_request_lifecycle.rst │ ├── index.rst │ ├── logging.rst │ ├── make.bat │ ├── migration_to_2xx.rst │ ├── misc.rst │ ├── multipart.rst │ ├── multipart_reference.rst │ ├── new_router.rst │ ├── powered_by.rst │ ├── spelling_wordlist.txt │ ├── streams.rst │ ├── structures.rst │ ├── testing.rst │ ├── third_party.rst │ ├── tracing_reference.rst │ ├── utilities.rst │ ├── web.rst │ ├── web_advanced.rst │ ├── web_exceptions.rst │ ├── web_lowlevel.rst │ ├── web_quickstart.rst │ ├── web_reference.rst │ ├── websocket_utilities.rst │ ├── whats_new_1_1.rst │ └── whats_new_3_0.rst ├── examples/ │ ├── background_tasks.py │ ├── basic_auth_middleware.py │ ├── cli_app.py │ ├── client_auth.py │ ├── client_json.py │ ├── client_ws.py │ ├── combined_middleware.py │ ├── curl.py │ ├── digest_auth_qop_auth.py │ ├── fake_server.py │ ├── logging_middleware.py │ ├── lowlevel_srv.py │ ├── retry_middleware.py │ ├── server.crt │ ├── server.csr │ ├── server.key │ ├── server_simple.py │ ├── static_files.py │ ├── token_refresh_middleware.py │ ├── web_classview.py │ ├── web_cookies.py │ ├── web_rewrite_headers_middleware.py │ ├── web_srv.py │ ├── web_srv_route_deco.py │ ├── web_srv_route_table.py │ ├── web_ws.py │ └── websocket.html ├── pyproject.toml ├── requirements/ │ ├── base-ft.in │ ├── base-ft.txt │ ├── base.in │ ├── base.txt │ ├── constraints.in │ ├── constraints.txt │ ├── cython.in │ ├── cython.txt │ ├── dev.in │ ├── dev.txt │ ├── doc-spelling.in │ ├── doc-spelling.txt │ ├── doc.in │ ├── doc.txt │ ├── lint.in │ ├── lint.txt │ ├── multidict.in │ ├── multidict.txt │ ├── runtime-deps.in │ ├── runtime-deps.txt │ ├── sync-direct-runtime-deps.py │ ├── test-common.in │ ├── test-common.txt │ ├── test-ft.in │ ├── test-ft.txt │ ├── test.in │ └── test.txt ├── setup.cfg ├── setup.py ├── tests/ │ ├── autobahn/ │ │ ├── Dockerfile.aiohttp │ │ ├── Dockerfile.autobahn │ │ ├── client/ │ │ │ ├── client.py │ │ │ └── fuzzingserver.json │ │ ├── server/ │ │ │ ├── fuzzingclient.json │ │ │ └── server.py │ │ └── test_autobahn.py │ ├── conftest.py │ ├── data.unknown_mime_type │ ├── data.zero_bytes │ ├── github-urls.json │ ├── isolated/ │ │ ├── check_for_client_response_leak.py │ │ └── check_for_request_leak.py │ ├── sample.txt │ ├── test_base_protocol.py │ ├── test_benchmarks_client.py │ ├── test_benchmarks_client_request.py │ ├── test_benchmarks_client_ws.py │ ├── test_benchmarks_cookiejar.py │ ├── test_benchmarks_http_websocket.py │ ├── test_benchmarks_http_writer.py │ ├── test_benchmarks_web_fileresponse.py │ ├── test_benchmarks_web_middleware.py │ ├── test_benchmarks_web_response.py │ ├── test_benchmarks_web_urldispatcher.py │ ├── test_circular_imports.py │ ├── test_classbasedview.py │ ├── test_client_connection.py │ ├── test_client_exceptions.py │ ├── test_client_fingerprint.py │ ├── test_client_functional.py │ ├── test_client_middleware.py │ ├── test_client_middleware_digest_auth.py │ ├── test_client_proto.py │ ├── test_client_request.py │ ├── test_client_response.py │ ├── test_client_session.py │ ├── test_client_ws.py │ ├── test_client_ws_functional.py │ ├── test_compression_utils.py │ ├── test_connector.py │ ├── test_cookie_helpers.py │ ├── test_cookiejar.py │ ├── test_flowcontrol_streams.py │ ├── test_formdata.py │ ├── test_helpers.py │ ├── test_http_exceptions.py │ ├── test_http_parser.py │ ├── test_http_writer.py │ ├── test_imports.py │ ├── test_leaks.py │ ├── test_loop.py │ ├── test_multipart.py │ ├── test_multipart_helpers.py │ ├── test_payload.py │ ├── test_proxy.py │ ├── test_proxy_functional.py │ ├── test_pytest_plugin.py │ ├── test_resolver.py │ ├── test_route_def.py │ ├── test_run_app.py │ ├── test_streams.py │ ├── test_tcp_helpers.py │ ├── test_test_utils.py │ ├── test_tracing.py │ ├── test_urldispatch.py │ ├── test_web_app.py │ ├── test_web_cli.py │ ├── test_web_exceptions.py │ ├── test_web_functional.py │ ├── test_web_log.py │ ├── test_web_middleware.py │ ├── test_web_protocol.py │ ├── test_web_request.py │ ├── test_web_request_handler.py │ ├── test_web_response.py │ ├── test_web_runner.py │ ├── test_web_sendfile.py │ ├── test_web_sendfile_functional.py │ ├── test_web_server.py │ ├── test_web_urldispatcher.py │ ├── test_web_websocket.py │ ├── test_web_websocket_functional.py │ ├── test_websocket_data_queue.py │ ├── test_websocket_handshake.py │ ├── test_websocket_parser.py │ ├── test_websocket_writer.py │ └── test_worker.py ├── tools/ │ ├── bench-asyncio-write.py │ ├── check_changes.py │ ├── check_sum.py │ ├── cleanup_changes.py │ ├── drop_merged_branches.sh │ ├── gen.py │ └── testing/ │ ├── Dockerfile │ ├── Dockerfile.dockerignore │ └── entrypoint.sh └── vendor/ └── README.rst