1919from  types  import  SimpleNamespace 
2020from  typing  import  TYPE_CHECKING , Any , Callable , Dict , List , Optional , Set , Union , cast 
2121
22- from  playwright ._impl ._api_structures  import  Cookie , Geolocation , StorageState 
22+ from  playwright ._impl ._api_structures  import  (
23+  Cookie ,
24+  Geolocation ,
25+  RequestSizes ,
26+  StorageState ,
27+ )
2328from  playwright ._impl ._api_types  import  Error 
2429from  playwright ._impl ._artifact  import  Artifact 
2530from  playwright ._impl ._cdp_session  import  CDPSession 
@@ -121,7 +126,7 @@ def __init__(
121126 lambda  params : self ._on_request_failed (
122127 from_channel (params ["request" ]),
123128 params ["responseEndTiming" ],
124-  params [ "failureText" ] ,
129+  params . get ( "failureText" ) ,
125130 from_nullable_channel (params .get ("page" )),
126131 ),
127132 )
@@ -131,6 +136,7 @@ def __init__(
131136 from_channel (params ["request" ]),
132137 params ["responseEndTiming" ],
133138 from_nullable_channel (params .get ("page" )),
139+  params ["requestSizes" ],
134140 ),
135141 )
136142 self ._closed_future : asyncio .Future  =  asyncio .Future ()
@@ -358,10 +364,15 @@ def _on_request_failed(
358364 page .emit (Page .Events .RequestFailed , request )
359365
360366 def  _on_request_finished (
361-  self , request : Request , response_end_timing : float , page : Optional [Page ]
367+  self ,
368+  request : Request ,
369+  response_end_timing : float ,
370+  page : Optional [Page ],
371+  request_sizes : RequestSizes ,
362372 ) ->  None :
363373 if  request ._timing :
364374 request ._timing ["responseEnd" ] =  response_end_timing 
375+  request ._sizes  =  request_sizes 
365376 self .emit (BrowserContext .Events .RequestFinished , request )
366377 if  page :
367378 page .emit (Page .Events .RequestFinished , request )
0 commit comments