1616"""Provides factories for different flavors of httpx.AsyncHTTPTransport."""
1717
1818from hishel import AsyncCacheTransport , AsyncInMemoryStorage
19- from httpx import AsyncHTTPTransport
19+ from httpx import AsyncHTTPTransport , Limits
2020
2121from .config import CompositeCacheConfig , CompositeConfig
2222from .ratelimiting import AsyncRatelimitingTransport
@@ -37,18 +37,22 @@ def _create_common_transport_layers(cls, config: CompositeConfig, transport):
3737
3838 @classmethod
3939 def create_ratelimiting_retry_transport (
40- cls , config : CompositeConfig
40+ cls , config : CompositeConfig , limits : Limits | None = None
4141 ) -> AsyncRatelimitingTransport :
4242 """TODO"""
43- base_transport = AsyncHTTPTransport ()
43+ base_transport = (
44+ AsyncHTTPTransport (limits = limits ) if limits else AsyncHTTPTransport ()
45+ )
4446 return cls ._create_common_transport_layers (config , base_transport )
4547
4648 @classmethod
4749 def create_ratelimiting_retry_transport_with_cache (
48- cls , config : CompositeCacheConfig
50+ cls , config : CompositeCacheConfig , limits : Limits | None = None
4951 ) -> AsyncRatelimitingTransport :
5052 """TODO"""
51- base_transport = AsyncHTTPTransport ()
53+ base_transport = (
54+ AsyncHTTPTransport (limits = limits ) if limits else AsyncHTTPTransport ()
55+ )
5256 storage = AsyncInMemoryStorage (ttl = config .cache_ttl )
5357 cache_tranport = AsyncCacheTransport (transport = base_transport , storage = storage )
5458 return cls ._create_common_transport_layers (config , cache_tranport )
0 commit comments