@@ -1234,15 +1234,22 @@ def expect_request(
12341234 urlOrPredicate : URLMatchRequest ,
12351235 timeout : float = None ,
12361236 ) -> EventContextManagerImpl [Request ]:
1237+ def my_predicate (request : Request ) -> bool :
1238+ if not callable (urlOrPredicate ) and url_matches (
1239+ self ._browser_context ._options .get ("baseURL" ),
1240+ request .url ,
1241+ urlOrPredicate ,
1242+ ):
1243+ return True
1244+ if callable (urlOrPredicate ):
1245+ return urlOrPredicate (request )
1246+ return True
1247+
12371248 trimmed_url = trim_url (urlOrPredicate )
12381249 log_line = f"waiting for request { trimmed_url } " if trimmed_url else None
12391250 return self ._expect_event (
12401251 Page .Events .Request ,
1241- predicate = lambda request : url_matches (
1242- self ._browser_context ._options .get ("baseURL" ),
1243- request .url ,
1244- cast (URLMatch , urlOrPredicate ),
1245- ),
1252+ predicate = my_predicate ,
12461253 timeout = timeout ,
12471254 log_line = log_line ,
12481255 )
@@ -1261,15 +1268,22 @@ def expect_response(
12611268 urlOrPredicate : URLMatchResponse ,
12621269 timeout : float = None ,
12631270 ) -> EventContextManagerImpl [Response ]:
1271+ def my_predicate (request : Request ) -> bool :
1272+ if not callable (urlOrPredicate ) and url_matches (
1273+ self ._browser_context ._options .get ("baseURL" ),
1274+ request .url ,
1275+ urlOrPredicate ,
1276+ ):
1277+ return True
1278+ if callable (urlOrPredicate ):
1279+ return urlOrPredicate (request )
1280+ return True
1281+
12641282 trimmed_url = trim_url (urlOrPredicate )
12651283 log_line = f"waiting for response { trimmed_url } " if trimmed_url else None
12661284 return self ._expect_event (
12671285 Page .Events .Response ,
1268- predicate = lambda repsonse : url_matches (
1269- self ._browser_context ._options .get ("baseURL" ),
1270- repsonse .url ,
1271- cast (URLMatch , urlOrPredicate ),
1272- ),
1286+ predicate = my_predicate ,
12731287 timeout = timeout ,
12741288 log_line = log_line ,
12751289 )
0 commit comments