├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ ├── config.yml │ ├── documentation.yml │ ├── feature_request.yml │ └── performance_issue.yml ├── codeql │ └── config.yml ├── dependabot.yml ├── pull_request_template.md └── workflows │ ├── ci.yml │ ├── codeql.yml │ ├── dependencies.yml │ ├── docs.yml │ ├── pre-commit.yml │ └── release.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .release └── git-cliff.toml ├── .yamlfmt ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── SECURITY.md ├── codecov.yml ├── docs ├── CNAME ├── about │ ├── changelog.md │ └── license.md ├── api │ ├── core.md │ ├── interfaces.md │ └── overview.md ├── assets │ ├── sample-follow-redirects-output.png │ └── sample-output.png ├── development │ ├── contributing.md │ └── release.md ├── getting-started │ ├── installation.md │ └── quick-start.md ├── index.md ├── overrides │ └── main.html └── usage │ ├── advanced.md │ ├── basic.md │ └── output-formats.md ├── httptap ├── __init__.py ├── _pkgmeta.py ├── analyzer.py ├── cli.py ├── constants.py ├── exporter.py ├── formatters.py ├── http_client.py ├── implementations │ ├── __init__.py │ ├── dns.py │ ├── timing.py │ └── tls.py ├── interfaces.py ├── models.py ├── render.py ├── request_executor.py ├── tls_inspector.py ├── utils.py └── visualizer.py ├── mkdocs.yml ├── pyproject.toml ├── tests ├── __init__.py ├── conftest.py ├── test_analyzer.py ├── test_cli.py ├── test_exporter.py ├── test_formatters.py ├── test_http_client.py ├── test_implementations_dns.py ├── test_implementations_timing.py ├── test_implementations_tls.py ├── test_models.py ├── test_pkgmeta.py ├── test_render.py ├── test_request_executor.py ├── test_tls_inspector.py ├── test_utils.py └── test_visualizer.py └── uv.lock /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @ozeranskii 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/.github/ISSUE_TEMPLATE/bug_report.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/.github/ISSUE_TEMPLATE/config.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/documentation.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/.github/ISSUE_TEMPLATE/documentation.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/.github/ISSUE_TEMPLATE/feature_request.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/performance_issue.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/.github/ISSUE_TEMPLATE/performance_issue.yml -------------------------------------------------------------------------------- /.github/codeql/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/.github/codeql/config.yml -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/.github/pull_request_template.md -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/codeql.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/.github/workflows/codeql.yml -------------------------------------------------------------------------------- /.github/workflows/dependencies.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/.github/workflows/dependencies.yml -------------------------------------------------------------------------------- /.github/workflows/docs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/.github/workflows/docs.yml -------------------------------------------------------------------------------- /.github/workflows/pre-commit.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/.github/workflows/pre-commit.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /.release/git-cliff.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/.release/git-cliff.toml -------------------------------------------------------------------------------- /.yamlfmt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/.yamlfmt -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/README.md -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/SECURITY.md -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/codecov.yml -------------------------------------------------------------------------------- /docs/CNAME: -------------------------------------------------------------------------------- 1 | docs.httptap.dev 2 | -------------------------------------------------------------------------------- /docs/about/changelog.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/docs/about/changelog.md -------------------------------------------------------------------------------- /docs/about/license.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/docs/about/license.md -------------------------------------------------------------------------------- /docs/api/core.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/docs/api/core.md -------------------------------------------------------------------------------- /docs/api/interfaces.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/docs/api/interfaces.md -------------------------------------------------------------------------------- /docs/api/overview.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/docs/api/overview.md -------------------------------------------------------------------------------- /docs/assets/sample-follow-redirects-output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/docs/assets/sample-follow-redirects-output.png -------------------------------------------------------------------------------- /docs/assets/sample-output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/docs/assets/sample-output.png -------------------------------------------------------------------------------- /docs/development/contributing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/docs/development/contributing.md -------------------------------------------------------------------------------- /docs/development/release.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/docs/development/release.md -------------------------------------------------------------------------------- /docs/getting-started/installation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/docs/getting-started/installation.md -------------------------------------------------------------------------------- /docs/getting-started/quick-start.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/docs/getting-started/quick-start.md -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/docs/index.md -------------------------------------------------------------------------------- /docs/overrides/main.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/docs/overrides/main.html -------------------------------------------------------------------------------- /docs/usage/advanced.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/docs/usage/advanced.md -------------------------------------------------------------------------------- /docs/usage/basic.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/docs/usage/basic.md -------------------------------------------------------------------------------- /docs/usage/output-formats.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/docs/usage/output-formats.md -------------------------------------------------------------------------------- /httptap/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/httptap/__init__.py -------------------------------------------------------------------------------- /httptap/_pkgmeta.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/httptap/_pkgmeta.py -------------------------------------------------------------------------------- /httptap/analyzer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/httptap/analyzer.py -------------------------------------------------------------------------------- /httptap/cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/httptap/cli.py -------------------------------------------------------------------------------- /httptap/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/httptap/constants.py -------------------------------------------------------------------------------- /httptap/exporter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/httptap/exporter.py -------------------------------------------------------------------------------- /httptap/formatters.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/httptap/formatters.py -------------------------------------------------------------------------------- /httptap/http_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/httptap/http_client.py -------------------------------------------------------------------------------- /httptap/implementations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/httptap/implementations/__init__.py -------------------------------------------------------------------------------- /httptap/implementations/dns.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/httptap/implementations/dns.py -------------------------------------------------------------------------------- /httptap/implementations/timing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/httptap/implementations/timing.py -------------------------------------------------------------------------------- /httptap/implementations/tls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/httptap/implementations/tls.py -------------------------------------------------------------------------------- /httptap/interfaces.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/httptap/interfaces.py -------------------------------------------------------------------------------- /httptap/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/httptap/models.py -------------------------------------------------------------------------------- /httptap/render.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/httptap/render.py -------------------------------------------------------------------------------- /httptap/request_executor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/httptap/request_executor.py -------------------------------------------------------------------------------- /httptap/tls_inspector.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/httptap/tls_inspector.py -------------------------------------------------------------------------------- /httptap/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/httptap/utils.py -------------------------------------------------------------------------------- /httptap/visualizer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/httptap/visualizer.py -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/mkdocs.yml -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/pyproject.toml -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/test_analyzer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/tests/test_analyzer.py -------------------------------------------------------------------------------- /tests/test_cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/tests/test_cli.py -------------------------------------------------------------------------------- /tests/test_exporter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/tests/test_exporter.py -------------------------------------------------------------------------------- /tests/test_formatters.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/tests/test_formatters.py -------------------------------------------------------------------------------- /tests/test_http_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/tests/test_http_client.py -------------------------------------------------------------------------------- /tests/test_implementations_dns.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/tests/test_implementations_dns.py -------------------------------------------------------------------------------- /tests/test_implementations_timing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/tests/test_implementations_timing.py -------------------------------------------------------------------------------- /tests/test_implementations_tls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/tests/test_implementations_tls.py -------------------------------------------------------------------------------- /tests/test_models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/tests/test_models.py -------------------------------------------------------------------------------- /tests/test_pkgmeta.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/tests/test_pkgmeta.py -------------------------------------------------------------------------------- /tests/test_render.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/tests/test_render.py -------------------------------------------------------------------------------- /tests/test_request_executor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/tests/test_request_executor.py -------------------------------------------------------------------------------- /tests/test_tls_inspector.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/tests/test_tls_inspector.py -------------------------------------------------------------------------------- /tests/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/tests/test_utils.py -------------------------------------------------------------------------------- /tests/test_visualizer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/tests/test_visualizer.py -------------------------------------------------------------------------------- /uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozeranskii/httptap/HEAD/uv.lock --------------------------------------------------------------------------------