A 429 retry_after was slept immediately, including on the final attempt that goes on to exhaust max_retries — a pointless wait right before giving up. The wait is now carried in a per-call mutable cell and slept at the start of the next attempt instead, so it's honored before every attempt that actually runs and never after the last one. errors.py's docstring claimed the exported error types cover the missing-[discord]-extra raise path; that raise is a plain RuntimeError, not one of these types. Reworded to match. Compressed essay-length docstrings/comments across sender.py; no behavior change. Verified against the aioproxies twin: aiowebhooks' proxy-key normalization already routes zero-padded ports through urlsplit().port (parses to int, no zero-pad on render), so host:080 and host:80 already collapse to one canonical key — no code change needed there. Signed-off-by: disqualifier <dev@disqualifier.me>
25 lines
590 B
TOML
25 lines
590 B
TOML
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "aiowebhooks"
|
|
version = "0.1.6"
|
|
description = "async webhook sender (aiohttp) with round-robin urls, retry, and proxy rotation; optional discord.py embeds"
|
|
requires-python = ">=3.10"
|
|
dependencies = [
|
|
"aiohttp>=3.9",
|
|
"commons @ git+ssh://git@git.rethinkstudios.io/rethink-public/commons.git@v0.2.1",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
discord = [
|
|
"discord.py>=2.3",
|
|
]
|
|
|
|
[tool.hatch.metadata]
|
|
allow-direct-references = true
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/aiowebhooks"]
|