@@ -63,7 +63,7 @@ def command_builder(self, method, params):
6363 cmd = yield command
6464 return cmd
6565
66- def add_intercept (self , phases = [], contexts = None , url_patterns = None ):
66+ def _add_intercept (self , phases = [], contexts = None , url_patterns = None ):
6767 """Add an intercept to the network.
6868
6969 Parameters:
@@ -94,7 +94,7 @@ def add_intercept(self, phases=[], contexts=None, url_patterns=None):
9494 self .intercepts .append (result ["intercept" ])
9595 return result
9696
97- def remove_intercept (self , intercept = None ):
97+ def _remove_intercept (self , intercept = None ):
9898 """Remove a specific intercept, or all intercepts.
9999
100100 Parameters:
@@ -183,7 +183,7 @@ def add_request_handler(self, event, callback, url_patterns=None, contexts=None)
183183 except KeyError :
184184 raise Exception (f"Event { event } not found" )
185185
186- result = self .add_intercept (phases = [phase_name ], url_patterns = url_patterns , contexts = contexts )
186+ result = self ._add_intercept (phases = [phase_name ], url_patterns = url_patterns , contexts = contexts )
187187 callback_id = self ._on_request (event_name , callback )
188188
189189 if event_name in self .subscriptions :
@@ -213,7 +213,7 @@ def remove_request_handler(self, event, callback_id):
213213 net_event = NetworkEvent (event_name )
214214
215215 self .conn .remove_callback (net_event , callback_id )
216- self .remove_intercept (self .callbacks [callback_id ])
216+ self ._remove_intercept (self .callbacks [callback_id ])
217217 del self .callbacks [callback_id ]
218218 self .subscriptions [event_name ].remove (callback_id )
219219 if len (self .subscriptions [event_name ]) == 0 :
@@ -222,6 +222,20 @@ def remove_request_handler(self, event, callback_id):
222222 self .conn .execute (self .command_builder ("session.unsubscribe" , params ))
223223 del self .subscriptions [event_name ]
224224
225+ def clear_request_handlers (self ):
226+ """Clear all request handlers from the network."""
227+
228+ for event_name in self .subscriptions :
229+ net_event = NetworkEvent (event_name )
230+ for callback_id in self .subscriptions [event_name ]:
231+ self .conn .remove_callback (net_event , callback_id )
232+ self ._remove_intercept (self .callbacks [callback_id ])
233+ del self .callbacks [callback_id ]
234+ params = {}
235+ params ["events" ] = [event_name ]
236+ self .conn .execute (self .command_builder ("session.unsubscribe" , params ))
237+ self .subscriptions = {}
238+
225239 def add_auth_handler (self , username , password ):
226240 """Add an authentication handler to the network.
227241
0 commit comments