Skip to content

Commit 0a44a70

Browse files
committed
expect_request/response fixes
1 parent 63f1521 commit 0a44a70

File tree

1 file changed

+24
-10
lines changed

1 file changed

+24
-10
lines changed

playwright/_impl/_page.py

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)