3535
3636
3737class BaseResponse :
38- def __init__ (self , url , response : requests .Response | httpx .Response ) -> None :
38+ def __init__ (self , url , response : requests .Response | httpx .Response , elapsed : float = 0.0 ) -> None :
3939 self .datetime = time .strftime ("%Y-%m-%d %H:%M:%S" )
4040 self .url = url
4141 self .full_path = parse_path (self .url )
@@ -44,6 +44,7 @@ def __init__(self, url, response: requests.Response | httpx.Response) -> None:
4444 self .headers = response .headers
4545 self .redirect = self .headers .get ("location" , "" )
4646 self .history = [str (res .url ) for res in response .history ]
47+ self .elapsed = elapsed
4748 self .content = ""
4849 self .body = b""
4950
@@ -80,8 +81,8 @@ def __eq__(self, other: Any) -> bool:
8081
8182
8283class Response (BaseResponse ):
83- def __init__ (self , url , response : requests .Response ) -> None :
84- super ().__init__ (url , response )
84+ def __init__ (self , url , response : requests .Response , elapsed : float = 0.0 ) -> None :
85+ super ().__init__ (url , response , elapsed )
8586
8687 for chunk in response .iter_content (chunk_size = ITER_CHUNK_SIZE ):
8788 self .body += chunk
@@ -102,8 +103,8 @@ def __init__(self, url, response: requests.Response) -> None:
102103
103104class AsyncResponse (BaseResponse ):
104105 @classmethod
105- async def create (cls , url , response : httpx .Response ) -> AsyncResponse :
106- self = cls (url , response )
106+ async def create (cls , url , response : httpx .Response , elapsed : float = 0.0 ) -> AsyncResponse :
107+ self = cls (url , response , elapsed )
107108 async for chunk in response .aiter_bytes (chunk_size = ITER_CHUNK_SIZE ):
108109 self .body += chunk
109110
0 commit comments