47
47
)
48
48
from playwright ._impl ._connection import (
49
49
ChannelOwner ,
50
- Connection ,
51
50
from_channel ,
52
51
from_nullable_channel ,
53
52
)
@@ -318,6 +317,7 @@ def __init__(
318
317
self , parent : ChannelOwner , type : str , guid : str , initializer : Dict
319
318
) -> None :
320
319
super ().__init__ (parent , type , guid , initializer )
320
+ self .mark_as_internal_type ()
321
321
self ._handling_future : Optional [asyncio .Future ["bool" ]] = None
322
322
self ._context : "BrowserContext" = cast ("BrowserContext" , None )
323
323
self ._did_throw = False
@@ -350,7 +350,6 @@ async def abort(self, errorCode: str = None) -> None:
350
350
"abort" ,
351
351
{
352
352
"errorCode" : errorCode ,
353
- "requestUrl" : self .request ._initializer ["url" ],
354
353
},
355
354
)
356
355
)
@@ -433,7 +432,6 @@ async def _inner_fulfill(
433
432
if length and "content-length" not in headers :
434
433
headers ["content-length" ] = str (length )
435
434
params ["headers" ] = serialize_headers (headers )
436
- params ["requestUrl" ] = self .request ._initializer ["url" ]
437
435
438
436
await self ._race_with_page_close (self ._channel .send ("fulfill" , params ))
439
437
@@ -492,43 +490,28 @@ async def continue_(
492
490
493
491
async def _inner () -> None :
494
492
self .request ._apply_fallback_overrides (overrides )
495
- await self ._internal_continue ( )
493
+ await self ._inner_continue ( False )
496
494
497
495
return await self ._handle_route (_inner )
498
496
499
- def _internal_continue (
500
- self , is_internal : bool = False
501
- ) -> Coroutine [Any , Any , None ]:
502
- async def continue_route () -> None :
503
- try :
504
- params : Dict [str , Any ] = {}
505
- params ["url" ] = self .request ._fallback_overrides .url
506
- params ["method" ] = self .request ._fallback_overrides .method
507
- params ["headers" ] = self .request ._fallback_overrides .headers
508
- if self .request ._fallback_overrides .post_data_buffer is not None :
509
- params ["postData" ] = base64 .b64encode (
510
- self .request ._fallback_overrides .post_data_buffer
511
- ).decode ()
512
- params = locals_to_params (params )
513
-
514
- if "headers" in params :
515
- params ["headers" ] = serialize_headers (params ["headers" ])
516
- params ["requestUrl" ] = self .request ._initializer ["url" ]
517
- params ["isFallback" ] = is_internal
518
- await self ._connection .wrap_api_call (
519
- lambda : self ._race_with_page_close (
520
- self ._channel .send (
521
- "continue" ,
522
- params ,
523
- )
524
- ),
525
- is_internal ,
526
- )
527
- except Exception as e :
528
- if not is_internal :
529
- raise e
530
-
531
- return continue_route ()
497
+ async def _inner_continue (self , is_fallback : bool = False ) -> None :
498
+ options = self .request ._fallback_overrides
499
+ await self ._race_with_page_close (
500
+ self ._channel .send (
501
+ "continue" ,
502
+ {
503
+ "url" : options .url ,
504
+ "method" : options .method ,
505
+ "headers" : serialize_headers (options .headers )
506
+ if options .headers
507
+ else None ,
508
+ "postData" : base64 .b64encode (options .post_data_buffer ).decode ()
509
+ if options .post_data_buffer is not None
510
+ else None ,
511
+ "isFallback" : is_fallback ,
512
+ },
513
+ )
514
+ )
532
515
533
516
async def _redirected_navigation_request (self , url : str ) -> None :
534
517
await self ._handle_route (
@@ -586,7 +569,7 @@ def close(self, code: int = None, reason: str = None) -> None:
586
569
},
587
570
)
588
571
)
589
- except :
572
+ except Exception :
590
573
pass
591
574
592
575
def send (self , message : Union [str , bytes ]) -> None :
@@ -636,7 +619,7 @@ def _channel_message_from_page(self, event: Dict) -> None:
636
619
elif self ._connected :
637
620
try :
638
621
asyncio .create_task (self ._channel .send ("sendToServer" , event ))
639
- except :
622
+ except Exception :
640
623
pass
641
624
642
625
def _channel_message_from_server (self , event : Dict ) -> None :
@@ -649,7 +632,7 @@ def _channel_message_from_server(self, event: Dict) -> None:
649
632
else :
650
633
try :
651
634
asyncio .create_task (self ._channel .send ("sendToPage" , event ))
652
- except :
635
+ except Exception :
653
636
pass
654
637
655
638
def _channel_close_page (self , event : Dict ) -> None :
@@ -658,7 +641,7 @@ def _channel_close_page(self, event: Dict) -> None:
658
641
else :
659
642
try :
660
643
asyncio .create_task (self ._channel .send ("closeServer" , event ))
661
- except :
644
+ except Exception :
662
645
pass
663
646
664
647
def _channel_close_server (self , event : Dict ) -> None :
@@ -667,7 +650,7 @@ def _channel_close_server(self, event: Dict) -> None:
667
650
else :
668
651
try :
669
652
asyncio .create_task (self ._channel .send ("closePage" , event ))
670
- except :
653
+ except Exception :
671
654
pass
672
655
673
656
@property
@@ -679,7 +662,7 @@ async def close(self, code: int = None, reason: str = None) -> None:
679
662
await self ._channel .send (
680
663
"closePage" , {"code" : code , "reason" : reason , "wasClean" : True }
681
664
)
682
- except :
665
+ except Exception :
683
666
pass
684
667
685
668
def connect_to_server (self ) -> "WebSocketRoute" :
@@ -697,7 +680,7 @@ def send(self, message: Union[str, bytes]) -> None:
697
680
"sendToPage" , {"message" : message , "isBase64" : False }
698
681
)
699
682
)
700
- except :
683
+ except Exception :
701
684
pass
702
685
else :
703
686
try :
@@ -710,7 +693,7 @@ def send(self, message: Union[str, bytes]) -> None:
710
693
},
711
694
)
712
695
)
713
- except :
696
+ except Exception :
714
697
pass
715
698
716
699
def on_message (self , handler : Callable [[Union [str , bytes ]], Any ]) -> None :
@@ -758,9 +741,9 @@ def matches(self, ws_url: str) -> bool:
758
741
return self .matcher .matches (ws_url )
759
742
760
743
async def handle (self , websocket_route : "WebSocketRoute" ) -> None :
761
- maybe_future = self .handler (websocket_route )
762
- if maybe_future :
763
- breakpoint ()
744
+ coro_or_future = self .handler (websocket_route )
745
+ if asyncio . iscoroutine ( coro_or_future ) :
746
+ await coro_or_future
764
747
await websocket_route ._after_handle ()
765
748
766
749
0 commit comments