11from __future__ import annotations
22
33import contextlib
4- from typing import AsyncIterable , AsyncIterator , Mapping
4+ import types
5+ import typing
56
67from ._models import Content , Headers , Response , Request
78from ._pool import Transport , open_connection_pool
@@ -15,7 +16,7 @@ def __init__(
1516 self ,
1617 transport : Transport ,
1718 url : URL | str | None = None ,
18- headers : Headers | Mapping [str , str ] | None = None ,
19+ headers : Headers | typing . Mapping [str , str ] | None = None ,
1920 ):
2021 if url is None :
2122 url = ""
@@ -31,8 +32,8 @@ def build_request(
3132 self ,
3233 method : str ,
3334 url : URL | str ,
34- headers : Headers | Mapping [str , str ] | None = None ,
35- content : Content | AsyncIterable [bytes ] | bytes | None = None ,
35+ headers : Headers | typing . Mapping [str , str ] | None = None ,
36+ content : Content | typing . AsyncIterable [bytes ] | bytes | None = None ,
3637 ) -> Request :
3738 return Request (
3839 method = method ,
@@ -45,8 +46,8 @@ async def request(
4546 self ,
4647 method : str ,
4748 url : URL | str ,
48- headers : Mapping [str , str ] | None = None ,
49- content : Content | AsyncIterable [bytes ] | bytes | None = None ,
49+ headers : typing . Mapping [str , str ] | None = None ,
50+ content : Content | typing . AsyncIterable [bytes ] | bytes | None = None ,
5051 ) -> Response :
5152 request = self .build_request (method , url , headers = headers , content = content )
5253 async with self .via .send (request ) as response :
@@ -58,48 +59,48 @@ async def stream(
5859 self ,
5960 method : str ,
6061 url : URL | str ,
61- headers : Mapping [str , str ] | None = None ,
62- content : Content | AsyncIterable [bytes ] | bytes | None = None ,
63- ) -> AsyncIterator [Response ]:
62+ headers : typing . Mapping [str , str ] | None = None ,
63+ content : Content | typing . AsyncIterable [bytes ] | bytes | None = None ,
64+ ) -> typing . AsyncIterator [Response ]:
6465 request = self .build_request (method , url , headers = headers , content = content )
6566 async with self .via .send (request ) as response :
6667 yield response
6768
6869 async def get (
6970 self ,
7071 url : URL | str ,
71- headers : Mapping [str , str ] | None = None ,
72+ headers : typing . Mapping [str , str ] | None = None ,
7273 ):
7374 return await self .request ("GET" , url , headers = headers )
7475
7576 async def post (
7677 self ,
7778 url : URL | str ,
78- headers : Mapping [str , str ] | None = None ,
79- content : Content | AsyncIterable [bytes ] | bytes | None = None ,
79+ headers : typing . Mapping [str , str ] | None = None ,
80+ content : Content | typing . AsyncIterable [bytes ] | bytes | None = None ,
8081 ):
8182 return await self .request ("POST" , url , headers = headers , content = content )
8283
8384 async def put (
8485 self ,
8586 url : URL | str ,
86- headers : Mapping [str , str ] | None = None ,
87- content : Content | AsyncIterable [bytes ] | bytes | None = None ,
87+ headers : typing . Mapping [str , str ] | None = None ,
88+ content : Content | typing . AsyncIterable [bytes ] | bytes | None = None ,
8889 ):
8990 return await self .request ("PUT" , url , headers = headers , content = content )
9091
9192 async def patch (
9293 self ,
9394 url : URL | str ,
94- headers : Mapping [str , str ] | None = None ,
95- content : Content | AsyncIterable [bytes ] | bytes | None = None ,
95+ headers : typing . Mapping [str , str ] | None = None ,
96+ content : Content | typing . AsyncIterable [bytes ] | bytes | None = None ,
9697 ):
9798 return await self .request ("PATCH" , url , headers = headers , content = content )
9899
99100 async def delete (
100101 self ,
101102 url : URL | str ,
102- headers : Mapping [str , str ] | None = None ,
103+ headers : typing . Mapping [str , str ] | None = None ,
103104 ):
104105 return await self .request ("DELETE" , url , headers = headers )
105106
@@ -135,7 +136,7 @@ def build_redirect_request(self, request: Request, response: Response) -> Reques
135136 raise NotImplementedError ()
136137
137138 @contextlib .asynccontextmanager
138- async def send (self , request : Request ) -> AsyncIterator [Response ]:
139+ async def send (self , request : Request ) -> typing . AsyncIterator [Response ]:
139140 while True :
140141 async with self ._transport .send (request ) as response :
141142 if not self .is_redirect (response ):
@@ -157,7 +158,7 @@ async def aclose(self):
157158async def open_client (
158159 transport : Transport | None = None ,
159160 url : URL | str | None = None ,
160- headers : Headers | Mapping [str , str ] | None = None ,
161+ headers : Headers | typing . Mapping [str , str ] | None = None ,
161162):
162163 if transport is None :
163164 transport = await open_connection_pool ()
0 commit comments