@@ -35,7 +35,7 @@ Ndb.NetworkInterceptor = class extends Ndb.ConnectionInterceptor {
35
35
36
36
_sendRawMessage ( rawMessage ) { }
37
37
38
- _listen ( ) {
38
+ async _listen ( ) {
39
39
InspectorFrontendHost . sendMessageToBackend = rawMessage => {
40
40
const message = JSON . parse ( rawMessage ) ;
41
41
@@ -61,45 +61,39 @@ Ndb.NetworkInterceptor = class extends Ndb.ConnectionInterceptor {
61
61
}
62
62
} ;
63
63
64
- // we need to setTimeout here because the httpMonkeyPatchingSource is loaded
65
- // after this script
66
- setTimeout ( async ( ) => {
67
- while ( this . _target ) {
68
- try {
69
- const raw = await this . _target
70
- . runtimeAgent ( )
71
- . invoke_evaluate ( {
72
- expression : `process._fetchNetworkMessages()` ,
73
- awaitPromise : true ,
74
- returnByValue : true
75
- } ) ;
76
-
77
- const {
78
- result : { value : messages }
79
- } = raw ;
80
-
81
- if ( ! messages ) return ;
82
-
83
- // messages is array-like
84
- const messagesArr = Array . from ( JSON . parse ( messages ) ) ;
85
-
86
- for ( const message of messagesArr ) {
87
- const { type, payload } = message ;
88
- this . _cacheRequests . push ( message ) ;
89
-
90
- // this is on the way back, this way doesn't work
91
- if ( type !== 'Network.getResponseBody' ) {
92
- // but this does
93
- SDK . _mainConnection . _onMessage ( JSON . stringify ( {
94
- method : type ,
95
- params : payload
96
- } ) ) ;
97
- }
98
- }
99
- } catch ( err ) {
100
- console . log ( { err } ) ;
64
+ while ( this . _target ) {
65
+ const rawResponse = await this . _target
66
+ . runtimeAgent ( )
67
+ . invoke_evaluate ( {
68
+ expression : `process._fetchNetworkMessages()` ,
69
+ awaitPromise : true ,
70
+ returnByValue : true
71
+ } ) ;
72
+
73
+ if ( ! rawResponse || ! rawResponse . result ) return ;
74
+
75
+ const {
76
+ result : { value : messages }
77
+ } = rawResponse ;
78
+
79
+ if ( ! messages ) return ;
80
+
81
+ // messages is array-like
82
+ const messagesArr = Array . from ( JSON . parse ( messages ) ) ;
83
+
84
+ for ( const message of messagesArr ) {
85
+ const { type, payload } = message ;
86
+ this . _cacheRequests . push ( message ) ;
87
+
88
+ // this is on the way back, this way doesn't work
89
+ if ( type !== 'Network.getResponseBody' ) {
90
+ // but this does
91
+ SDK . _mainConnection . _onMessage ( JSON . stringify ( {
92
+ method : type ,
93
+ params : payload
94
+ } ) ) ;
101
95
}
102
96
}
103
- } , 0 ) ;
97
+ }
104
98
}
105
99
} ;
0 commit comments