- #7: request_with_retries routed only dicts to json=, so a valid JSON list body was form-encoded via data=. add _route_body so dict OR list -> json=. - #6: when every attempt returned a retryable status, the loop discarded the real response and returned a synthetic FailureResponse (status 0). now the real last 4xx/5xx Response is returned on exhaustion (only a pure-exception failure yields FailureResponse). - migrate the retry/backoff loop onto commons.aretry (>=0.2.0); backoff schedule unchanged (1,2,... = backoff_base**n), jitter off to match prior behavior. verified by execution: list->json routing, exhausted 503 returns real 503 + body with correct backoff, success/404 immediate, exception->falsy FailureResponse. Signed-off-by: disqualifier <dev@disqualifier.me>
21 lines
536 B
TOML
21 lines
536 B
TOML
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "aioweb"
|
|
version = "0.1.1"
|
|
description = "Async HTTP session wrapper over aiohttp — proxies, header overwrites, retries, previews. Config-free, installable."
|
|
requires-python = ">=3.10"
|
|
dependencies = [
|
|
"aiohttp>=3.9",
|
|
"yarl>=1.9",
|
|
"commons @ git+ssh://git@git.rethinkstudios.io/rethink-public/commons.git@v0.2.0",
|
|
]
|
|
|
|
[tool.hatch.metadata]
|
|
allow-direct-references = true
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/aioweb"]
|