diff --git a/pyproject.toml b/pyproject.toml index 5406339..8f392b2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "aioweb_tls" -version = "0.1.0" +version = "0.1.1" description = "TLS-fingerprinting backends for aioweb — curl_cffi / noble_tls ExtendedSession subclasses, config-free, installable." requires-python = ">=3.10" dependencies = [ diff --git a/src/aioweb_tls/backends.py b/src/aioweb_tls/backends.py index 33181fd..f87a834 100644 --- a/src/aioweb_tls/backends.py +++ b/src/aioweb_tls/backends.py @@ -12,6 +12,7 @@ this module never fails because an extra is missing. """ import logging +import math from aioweb import Response @@ -169,7 +170,9 @@ class Noble: timeout = _coerce_timeout(kwargs.pop("timeout", None)) if timeout is not None: - kwargs["timeout_seconds"] = int(timeout) + # noble takes whole seconds; round UP so a sub-second timeout (e.g. 0.5) + # doesn't truncate to 0 (which would mean no/instant timeout) + kwargs["timeout_seconds"] = max(1, math.ceil(timeout)) proxy = kwargs.pop("proxy", None) if proxy: