Both backends' asyncio.TimeoutError except-branch was dead code (neither curl_cffi nor noble_tls raises it), so a real wire timeout fell through to the generic OSError branch and got mislabeled a plain aiohttp.ClientError instead of aioweb's own ServerTimeoutError contract; now detected via curl_cffi's Timeout type or Go-side timeout text and re-wrapped correctly. Noble's multi-valued response headers (e.g. two Set-Cookie lines) arrived as Python lists instead of strings, breaking any downstream .split()/.lower() call; now comma-joined per RFC 7230. An unknown Noble client profile string raised a raw AttributeError from the enum lookup; now a ValueError listing the valid profile names. Also compresses essay-length docstrings and narrating comments across the module with no behavior change. Signed-off-by: disqualifier <dev@disqualifier.me>
24 lines
643 B
TOML
24 lines
643 B
TOML
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "aioweb_tls"
|
|
version = "0.1.5"
|
|
description = "TLS-fingerprinting backends (curl_cffi / noble_tls) for aioweb via one injectable TLSSession, config-free, installable."
|
|
requires-python = ">=3.10"
|
|
dependencies = [
|
|
"aioweb @ git+ssh://git@git.rethinkstudios.io/rethink-public/aioweb.git@v0.1.5",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
curl = ["curl_cffi>=0.15"]
|
|
noble = ["noble-tls>=0.1.5"]
|
|
all = ["curl_cffi>=0.15", "noble-tls>=0.1.5"]
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/aioweb_tls"]
|
|
|
|
[tool.hatch.metadata]
|
|
allow-direct-references = true
|