1- import Gleap from "./Gleap" ;
2-
31class GleapNetworkIntercepter {
42 startTimestamp = Date . now ( ) ;
53 requestId = 0 ;
@@ -9,6 +7,7 @@ class GleapNetworkIntercepter {
97 filters = [ ] ;
108 initialized = false ;
119 stopped = false ;
10+ loadAllResources = false ;
1211
1312 // GleapNetworkIntercepter singleton
1413 static instance ;
@@ -19,6 +18,10 @@ class GleapNetworkIntercepter {
1918 return this . instance ;
2019 }
2120
21+ setLoadAllResources ( loadAllResources ) {
22+ this . loadAllResources = loadAllResources ;
23+ }
24+
2225 isContentTypeSupported ( contentType ) {
2326 if ( typeof contentType !== "string" ) {
2427 return false ;
@@ -45,45 +48,43 @@ class GleapNetworkIntercepter {
4548 Object . values ( this . requests )
4649 ) ;
4750
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 ] ;
5555
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+ }
6061 }
61- }
6262
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 ) { }
6969
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 ) ;
7375 }
74- request . request . payload = JSON . stringify ( payloadObj ) ;
7576 }
76- }
7777
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+ }
8788 }
8889 }
8990
@@ -94,7 +95,7 @@ class GleapNetworkIntercepter {
9495 for ( var i = 0 ; i < resources . length ; i ++ ) {
9596 var resource = resources [ i ] ;
9697 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 ) ) {
9899 requests . push ( {
99100 type : "RESOURCE" ,
100101 date : new Date ( this . startTimestamp + resource . startTime ) ,
0 commit comments