@@ -36,52 +36,52 @@ def __init__(self, driver):
3636        self .scopes  =  {}
3737        self .conn  =  None 
3838
39+     async  def  get (self , url , conn ):
40+         params  =  NavigateParameters (context = self .driver .current_window_handle , url = url , wait = "complete" )
41+         await  conn .execute (Navigate (params ).cmd ())
42+ 
43+     def  create_callback (self , request_filter , handler ):
44+         async  def  callback (request ):
45+             if  request_filter (request ):
46+                 request  =  handler (request )
47+             else :
48+                 request  =  default_request_handler (request )
49+             await  self .network .continue_request (request )
50+ 
51+         return  callback 
52+ 
53+     async  def  add_listener (self , event , callback ):
54+         listener  =  self .conn .listen (event )
55+ 
56+         async  for  event  in  listener :
57+             request_data  =  BeforeRequestSentParameters .from_json (event .to_json ()["params" ])
58+             if  request_data .isBlocked :
59+                 await  callback (request_data )
60+ 
3961    async  def  add_request_handler (
4062        self ,
4163        request_filter = lambda  _ : True ,
4264        handler = default_request_handler ,
4365        conn = None ,
44-         task_status = trio .TASK_STATUS_IGNORED 
66+         task_status = trio .TASK_STATUS_IGNORED , 
4567    ):
4668        if  not  self .conn :
4769            self .conn  =  conn 
4870        with  trio .CancelScope () as  scope :
4971            self .network  =  network .Network (conn )
5072            params  =  AddInterceptParameters (["beforeRequestSent" ])
51-             callback  =  self ._callback (request_filter , handler )
5273            result  =  await  self .network .add_intercept (event = BeforeRequestSent , params = params )
5374            intercept  =  result ["intercept" ]
5475            self .scopes [intercept ] =  scope 
5576            task_status .started (intercept )
77+             callback  =  self .create_callback (request ,filter ,handler )
5678            await  self .add_listener (event = BeforeRequestSent , callback = callback )
5779            return  intercept 
5880
59-     async  def  add_listener (self , event , callback ):
60-         listener  =  self .conn .listen (event )
61- 
62-         async  for  event  in  listener :
63-             request_data  =  BeforeRequestSentParameters .from_json (event .to_json ()["params" ])
64-             if  request_data .isBlocked :
65-                 await  callback (request_data )
66- 
67-     async  def  get (self , url , conn ):
68-         params  =  NavigateParameters (context = self .driver .current_window_handle , url = url , wait = "complete" )
69-         await  conn .execute (Navigate (params ).cmd ())
70- 
7181    async  def  remove_request_handler (self , intercept ):
7282        await  self .network .remove_intercept (
7383            event = BeforeRequestSent ,
7484            params = network .RemoveInterceptParameters (self .intercept ),
7585        )
7686        self .scopes [intercept ].cancel ()
7787        self .scopes .pop (intercept )
78- 
79-     def  _callback (self , request_filter , handler ):
80-         async  def  callback (request ):
81-             if  request_filter (request ):
82-                 request  =  handler (request )
83-             else :
84-                 request  =  default_request_handler (request )
85-             await  self .network .continue_request (request )
86- 
87-         return  callback 
0 commit comments