Практикум: HTTP-клиенты, метрики и вложенные повторы¶
client_flow.py содержит HTTP-фрагменты статьи. http_origin.py запускает локальный aiohttp-сервер с остатками, оплатой и управляемыми сбоями; http_checks.py содержит проверки, общие для пяти практикумов.
wrappers_lab.py проверяет сохранение интерфейсов HTTPX, aiohttp и Requests; один успешный вызов и три попытки при двух ответах 503 от склада; закрытие клиентов; отчёт о неподдерживаемом лимите попытки Requests через inspect(client).report и ошибку при on_unsupported='strict'; девять серверных запросов при трёх внешних повторах вокруг трёх попыток клиента.
Запросы проходят по настоящему HTTP на localhost. Requests вызывается в отдельном потоке, чтобы не блокировать асинхронный тестовый сервер. Примеры проверяют поведение, а не производительность транспорта.
Запустите из каталога docs/blog/lab/2026-09-07-why-i-stopped-wrapping-http-clients в копии репозитория. Версии зависимостей закреплены в requirements.txt.