1
- import Gleap from "./Gleap" ;
2
-
3
1
class GleapNetworkIntercepter {
4
2
startTimestamp = Date . now ( ) ;
5
3
requestId = 0 ;
@@ -9,6 +7,7 @@ class GleapNetworkIntercepter {
9
7
filters = [ ] ;
10
8
initialized = false ;
11
9
stopped = false ;
10
+ loadAllResources = false ;
12
11
13
12
// GleapNetworkIntercepter singleton
14
13
static instance ;
@@ -19,6 +18,10 @@ class GleapNetworkIntercepter {
19
18
return this . instance ;
20
19
}
21
20
21
+ setLoadAllResources ( loadAllResources ) {
22
+ this . loadAllResources = loadAllResources ;
23
+ }
24
+
22
25
isContentTypeSupported ( contentType ) {
23
26
if ( typeof contentType !== "string" ) {
24
27
return false ;
@@ -45,45 +48,43 @@ class GleapNetworkIntercepter {
45
48
Object . values ( this . requests )
46
49
) ;
47
50
48
- if ( ! this . filters || this . filters . length === 0 ) {
49
- return requests ;
50
- }
51
-
52
- // Perform network log filtering.
53
- for ( var i = 0 ; i < requests . length ; i ++ ) {
54
- var request = requests [ i ] ;
51
+ if ( this . filters && this . filters . length > 0 ) {
52
+ // Perform network log filtering.
53
+ for ( var i = 0 ; i < requests . length ; i ++ ) {
54
+ var request = requests [ i ] ;
55
55
56
- // Headers
57
- if ( request && request . request && request . request . headers ) {
58
- for ( var j = 0 ; j < this . filters . length ; j ++ ) {
59
- delete request . request . headers [ this . filters [ j ] ] ;
56
+ // Headers
57
+ if ( request && request . request && request . request . headers ) {
58
+ for ( var j = 0 ; j < this . filters . length ; j ++ ) {
59
+ delete request . request . headers [ this . filters [ j ] ] ;
60
+ }
60
61
}
61
- }
62
62
63
- // Payload
64
- if ( request && request . request && request . request . payload ) {
65
- var payloadObj = request . request . payload ;
66
- try {
67
- payloadObj = JSON . parse ( request . request . payload ) ;
68
- } catch ( e ) { }
63
+ // Payload
64
+ if ( request && request . request && request . request . payload ) {
65
+ var payloadObj = request . request . payload ;
66
+ try {
67
+ payloadObj = JSON . parse ( request . request . payload ) ;
68
+ } catch ( e ) { }
69
69
70
- if ( payloadObj ) {
71
- for ( var j = 0 ; j < this . filters . length ; j ++ ) {
72
- delete payloadObj [ this . filters [ j ] ] ;
70
+ if ( payloadObj ) {
71
+ for ( var j = 0 ; j < this . filters . length ; j ++ ) {
72
+ delete payloadObj [ this . filters [ j ] ] ;
73
+ }
74
+ request . request . payload = JSON . stringify ( payloadObj ) ;
73
75
}
74
- request . request . payload = JSON . stringify ( payloadObj ) ;
75
76
}
76
- }
77
77
78
- // Response
79
- if ( request && request . response && request . response . responseText ) {
80
- try {
81
- var data = JSON . parse ( request . response . responseText ) ;
82
- for ( var j = 0 ; j < this . filters . length ; j ++ ) {
83
- delete data [ this . filters [ j ] ] ;
84
- }
85
- request . response . responseText = JSON . stringify ( data ) ;
86
- } catch ( e ) { }
78
+ // Response
79
+ if ( request && request . response && request . response . responseText ) {
80
+ try {
81
+ var data = JSON . parse ( request . response . responseText ) ;
82
+ for ( var j = 0 ; j < this . filters . length ; j ++ ) {
83
+ delete data [ this . filters [ j ] ] ;
84
+ }
85
+ request . response . responseText = JSON . stringify ( data ) ;
86
+ } catch ( e ) { }
87
+ }
87
88
}
88
89
}
89
90
@@ -94,7 +95,7 @@ class GleapNetworkIntercepter {
94
95
for ( var i = 0 ; i < resources . length ; i ++ ) {
95
96
var resource = resources [ i ] ;
96
97
if ( resource && resource . name ) {
97
- if ( ! requests . find ( request => request . url === resource . name ) ) {
98
+ if ( ( this . loadAllResources || [ "xmlhttprequest" , "fetch" ] . indexOf ( resource . initiatorType ) > - 1 ) && ! requests . find ( request => request . url === resource . name ) ) {
98
99
requests . push ( {
99
100
type : "RESOURCE" ,
100
101
date : new Date ( this . startTimestamp + resource . startTime ) ,
0 commit comments