@openreplay/tracker 9.0.0 → 9.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/cjs/app/index.js +1 -1
- package/cjs/index.js +1 -1
- package/cjs/modules/Network/fetchProxy.d.ts +1 -1
- package/cjs/modules/Network/fetchProxy.js +7 -1
- package/cjs/modules/Network/index.js +14 -2
- package/cjs/modules/Network/xhrProxy.js +3 -0
- package/lib/app/index.js +1 -1
- package/lib/index.js +1 -1
- package/lib/modules/Network/fetchProxy.d.ts +1 -1
- package/lib/modules/Network/fetchProxy.js +7 -1
- package/lib/modules/Network/index.js +14 -2
- package/lib/modules/Network/xhrProxy.js +3 -0
- package/package.json +1 -1
- package/coverage/clover.xml +0 -2973
- package/coverage/coverage-final.json +0 -44
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -191
- package/coverage/lcov-report/main/app/guards.ts.html +0 -229
- package/coverage/lcov-report/main/app/index.html +0 -206
- package/coverage/lcov-report/main/app/index.ts.html +0 -2149
- package/coverage/lcov-report/main/app/logger.ts.html +0 -277
- package/coverage/lcov-report/main/app/messages.gen.ts.html +0 -2752
- package/coverage/lcov-report/main/app/observer/iframe_observer.ts.html +0 -148
- package/coverage/lcov-report/main/app/observer/iframe_offsets.ts.html +0 -289
- package/coverage/lcov-report/main/app/observer/index.html +0 -161
- package/coverage/lcov-report/main/app/observer/shadow_root_observer.ts.html +0 -142
- package/coverage/lcov-report/main/app/observer/top_observer.ts.html +0 -535
- package/coverage/lcov-report/main/app/sanitizer.ts.html +0 -394
- package/coverage/lcov-report/main/app/session.ts.html +0 -601
- package/coverage/lcov-report/main/app/ticker.ts.html +0 -250
- package/coverage/lcov-report/main/index.html +0 -131
- package/coverage/lcov-report/main/index.ts.html +0 -1144
- package/coverage/lcov-report/main/modules/Network/fetchProxy.ts.html +0 -949
- package/coverage/lcov-report/main/modules/Network/index.html +0 -176
- package/coverage/lcov-report/main/modules/Network/index.ts.html +0 -169
- package/coverage/lcov-report/main/modules/Network/networkMessage.ts.html +0 -382
- package/coverage/lcov-report/main/modules/Network/utils.ts.html +0 -700
- package/coverage/lcov-report/main/modules/Network/xhrProxy.ts.html +0 -823
- package/coverage/lcov-report/main/modules/attributeSender.ts.html +0 -217
- package/coverage/lcov-report/main/modules/axiosSpy.ts.html +0 -700
- package/coverage/lcov-report/main/modules/connection.ts.html +0 -160
- package/coverage/lcov-report/main/modules/console.ts.html +0 -535
- package/coverage/lcov-report/main/modules/constructedStyleSheets.ts.html +0 -559
- package/coverage/lcov-report/main/modules/cssrules.ts.html +0 -418
- package/coverage/lcov-report/main/modules/exception.ts.html +0 -385
- package/coverage/lcov-report/main/modules/featureFlags.ts.html +0 -415
- package/coverage/lcov-report/main/modules/focus.ts.html +0 -220
- package/coverage/lcov-report/main/modules/fonts.ts.html +0 -289
- package/coverage/lcov-report/main/modules/img.ts.html +0 -433
- package/coverage/lcov-report/main/modules/index.html +0 -401
- package/coverage/lcov-report/main/modules/input.ts.html +0 -811
- package/coverage/lcov-report/main/modules/mouse.ts.html +0 -826
- package/coverage/lcov-report/main/modules/network.ts.html +0 -1129
- package/coverage/lcov-report/main/modules/performance.ts.html +0 -367
- package/coverage/lcov-report/main/modules/scroll.ts.html +0 -364
- package/coverage/lcov-report/main/modules/selection.ts.html +0 -202
- package/coverage/lcov-report/main/modules/tabs.ts.html +0 -124
- package/coverage/lcov-report/main/modules/timing.ts.html +0 -841
- package/coverage/lcov-report/main/modules/viewport.ts.html +0 -250
- package/coverage/lcov-report/main/utils.ts.html +0 -406
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -196
- package/coverage/lcov-report/webworker/BatchWriter.ts.html +0 -481
- package/coverage/lcov-report/webworker/MessageEncoder.gen.ts.html +0 -949
- package/coverage/lcov-report/webworker/PrimitiveEncoder.ts.html +0 -436
- package/coverage/lcov-report/webworker/QueueSender.ts.html +0 -505
- package/coverage/lcov-report/webworker/index.html +0 -176
- package/coverage/lcov-report/webworker/index.ts.html +0 -616
- package/coverage/lcov.info +0 -5854
|
@@ -1,1129 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for main/modules/network.ts</title>
|
|
7
|
-
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
|
-
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
-
<style type='text/css'>
|
|
13
|
-
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(../../sort-arrow-sprite.png);
|
|
15
|
-
}
|
|
16
|
-
</style>
|
|
17
|
-
</head>
|
|
18
|
-
|
|
19
|
-
<body>
|
|
20
|
-
<div class='wrapper'>
|
|
21
|
-
<div class='pad1'>
|
|
22
|
-
<h1><a href="../../index.html">All files</a> / <a href="index.html">main/modules</a> network.ts</h1>
|
|
23
|
-
<div class='clearfix'>
|
|
24
|
-
|
|
25
|
-
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">0% </span>
|
|
27
|
-
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>0/127</span>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">0% </span>
|
|
34
|
-
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>0/54</span>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">0% </span>
|
|
41
|
-
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>0/27</span>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">0% </span>
|
|
48
|
-
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>0/124</span>
|
|
50
|
-
</div>
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
</div>
|
|
54
|
-
<p class="quiet">
|
|
55
|
-
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
-
</p>
|
|
57
|
-
<template id="filterTemplate">
|
|
58
|
-
<div class="quiet">
|
|
59
|
-
Filter:
|
|
60
|
-
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
-
</div>
|
|
62
|
-
</template>
|
|
63
|
-
</div>
|
|
64
|
-
<div class='status-line low'></div>
|
|
65
|
-
<pre><table class="coverage">
|
|
66
|
-
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
-
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
-
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
-
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
-
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
-
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
-
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
-
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
-
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
-
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
-
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
-
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
-
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
-
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
-
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
-
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
-
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
-
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
-
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
-
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
-
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
-
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
-
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
-
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
-
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
-
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
-
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
-
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
-
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
-
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
-
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
-
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
-
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
-
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
-
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
-
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
-
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
-
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
-
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
-
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
-
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
-
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
-
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
-
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
-
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
-
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
-
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
-
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
-
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
-
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
-
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
-
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
-
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
-
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
-
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
-
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
-
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
-
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
-
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
-
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
-
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
-
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
-
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
-
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
-
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
-
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
-
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
-
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
-
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
-
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
-
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
-
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
-
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
-
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
-
<a name='L75'></a><a href='#L75'>75</a>
|
|
141
|
-
<a name='L76'></a><a href='#L76'>76</a>
|
|
142
|
-
<a name='L77'></a><a href='#L77'>77</a>
|
|
143
|
-
<a name='L78'></a><a href='#L78'>78</a>
|
|
144
|
-
<a name='L79'></a><a href='#L79'>79</a>
|
|
145
|
-
<a name='L80'></a><a href='#L80'>80</a>
|
|
146
|
-
<a name='L81'></a><a href='#L81'>81</a>
|
|
147
|
-
<a name='L82'></a><a href='#L82'>82</a>
|
|
148
|
-
<a name='L83'></a><a href='#L83'>83</a>
|
|
149
|
-
<a name='L84'></a><a href='#L84'>84</a>
|
|
150
|
-
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
|
-
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
|
-
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
-
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
-
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
-
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
-
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
-
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
-
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
-
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
-
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
-
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
-
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
-
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
-
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
-
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
-
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
-
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
-
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
-
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
-
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
-
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
-
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
-
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
-
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
-
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
|
-
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
-
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
-
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
-
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
-
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
-
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
-
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
-
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
-
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
-
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
-
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
-
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
-
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
-
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
-
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
-
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
-
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
-
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
-
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
-
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
-
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
-
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
-
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
-
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
-
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
-
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
-
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
-
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
-
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
-
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
-
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
-
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
-
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
-
<a name='L144'></a><a href='#L144'>144</a>
|
|
210
|
-
<a name='L145'></a><a href='#L145'>145</a>
|
|
211
|
-
<a name='L146'></a><a href='#L146'>146</a>
|
|
212
|
-
<a name='L147'></a><a href='#L147'>147</a>
|
|
213
|
-
<a name='L148'></a><a href='#L148'>148</a>
|
|
214
|
-
<a name='L149'></a><a href='#L149'>149</a>
|
|
215
|
-
<a name='L150'></a><a href='#L150'>150</a>
|
|
216
|
-
<a name='L151'></a><a href='#L151'>151</a>
|
|
217
|
-
<a name='L152'></a><a href='#L152'>152</a>
|
|
218
|
-
<a name='L153'></a><a href='#L153'>153</a>
|
|
219
|
-
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
|
-
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
|
-
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
-
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
-
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
-
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
-
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
-
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
-
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
-
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
-
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
-
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
-
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
-
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
-
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
-
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
-
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
-
<a name='L171'></a><a href='#L171'>171</a>
|
|
237
|
-
<a name='L172'></a><a href='#L172'>172</a>
|
|
238
|
-
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
|
-
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
|
-
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
-
<a name='L176'></a><a href='#L176'>176</a>
|
|
242
|
-
<a name='L177'></a><a href='#L177'>177</a>
|
|
243
|
-
<a name='L178'></a><a href='#L178'>178</a>
|
|
244
|
-
<a name='L179'></a><a href='#L179'>179</a>
|
|
245
|
-
<a name='L180'></a><a href='#L180'>180</a>
|
|
246
|
-
<a name='L181'></a><a href='#L181'>181</a>
|
|
247
|
-
<a name='L182'></a><a href='#L182'>182</a>
|
|
248
|
-
<a name='L183'></a><a href='#L183'>183</a>
|
|
249
|
-
<a name='L184'></a><a href='#L184'>184</a>
|
|
250
|
-
<a name='L185'></a><a href='#L185'>185</a>
|
|
251
|
-
<a name='L186'></a><a href='#L186'>186</a>
|
|
252
|
-
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
|
-
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
|
-
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
-
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
|
-
<a name='L191'></a><a href='#L191'>191</a>
|
|
257
|
-
<a name='L192'></a><a href='#L192'>192</a>
|
|
258
|
-
<a name='L193'></a><a href='#L193'>193</a>
|
|
259
|
-
<a name='L194'></a><a href='#L194'>194</a>
|
|
260
|
-
<a name='L195'></a><a href='#L195'>195</a>
|
|
261
|
-
<a name='L196'></a><a href='#L196'>196</a>
|
|
262
|
-
<a name='L197'></a><a href='#L197'>197</a>
|
|
263
|
-
<a name='L198'></a><a href='#L198'>198</a>
|
|
264
|
-
<a name='L199'></a><a href='#L199'>199</a>
|
|
265
|
-
<a name='L200'></a><a href='#L200'>200</a>
|
|
266
|
-
<a name='L201'></a><a href='#L201'>201</a>
|
|
267
|
-
<a name='L202'></a><a href='#L202'>202</a>
|
|
268
|
-
<a name='L203'></a><a href='#L203'>203</a>
|
|
269
|
-
<a name='L204'></a><a href='#L204'>204</a>
|
|
270
|
-
<a name='L205'></a><a href='#L205'>205</a>
|
|
271
|
-
<a name='L206'></a><a href='#L206'>206</a>
|
|
272
|
-
<a name='L207'></a><a href='#L207'>207</a>
|
|
273
|
-
<a name='L208'></a><a href='#L208'>208</a>
|
|
274
|
-
<a name='L209'></a><a href='#L209'>209</a>
|
|
275
|
-
<a name='L210'></a><a href='#L210'>210</a>
|
|
276
|
-
<a name='L211'></a><a href='#L211'>211</a>
|
|
277
|
-
<a name='L212'></a><a href='#L212'>212</a>
|
|
278
|
-
<a name='L213'></a><a href='#L213'>213</a>
|
|
279
|
-
<a name='L214'></a><a href='#L214'>214</a>
|
|
280
|
-
<a name='L215'></a><a href='#L215'>215</a>
|
|
281
|
-
<a name='L216'></a><a href='#L216'>216</a>
|
|
282
|
-
<a name='L217'></a><a href='#L217'>217</a>
|
|
283
|
-
<a name='L218'></a><a href='#L218'>218</a>
|
|
284
|
-
<a name='L219'></a><a href='#L219'>219</a>
|
|
285
|
-
<a name='L220'></a><a href='#L220'>220</a>
|
|
286
|
-
<a name='L221'></a><a href='#L221'>221</a>
|
|
287
|
-
<a name='L222'></a><a href='#L222'>222</a>
|
|
288
|
-
<a name='L223'></a><a href='#L223'>223</a>
|
|
289
|
-
<a name='L224'></a><a href='#L224'>224</a>
|
|
290
|
-
<a name='L225'></a><a href='#L225'>225</a>
|
|
291
|
-
<a name='L226'></a><a href='#L226'>226</a>
|
|
292
|
-
<a name='L227'></a><a href='#L227'>227</a>
|
|
293
|
-
<a name='L228'></a><a href='#L228'>228</a>
|
|
294
|
-
<a name='L229'></a><a href='#L229'>229</a>
|
|
295
|
-
<a name='L230'></a><a href='#L230'>230</a>
|
|
296
|
-
<a name='L231'></a><a href='#L231'>231</a>
|
|
297
|
-
<a name='L232'></a><a href='#L232'>232</a>
|
|
298
|
-
<a name='L233'></a><a href='#L233'>233</a>
|
|
299
|
-
<a name='L234'></a><a href='#L234'>234</a>
|
|
300
|
-
<a name='L235'></a><a href='#L235'>235</a>
|
|
301
|
-
<a name='L236'></a><a href='#L236'>236</a>
|
|
302
|
-
<a name='L237'></a><a href='#L237'>237</a>
|
|
303
|
-
<a name='L238'></a><a href='#L238'>238</a>
|
|
304
|
-
<a name='L239'></a><a href='#L239'>239</a>
|
|
305
|
-
<a name='L240'></a><a href='#L240'>240</a>
|
|
306
|
-
<a name='L241'></a><a href='#L241'>241</a>
|
|
307
|
-
<a name='L242'></a><a href='#L242'>242</a>
|
|
308
|
-
<a name='L243'></a><a href='#L243'>243</a>
|
|
309
|
-
<a name='L244'></a><a href='#L244'>244</a>
|
|
310
|
-
<a name='L245'></a><a href='#L245'>245</a>
|
|
311
|
-
<a name='L246'></a><a href='#L246'>246</a>
|
|
312
|
-
<a name='L247'></a><a href='#L247'>247</a>
|
|
313
|
-
<a name='L248'></a><a href='#L248'>248</a>
|
|
314
|
-
<a name='L249'></a><a href='#L249'>249</a>
|
|
315
|
-
<a name='L250'></a><a href='#L250'>250</a>
|
|
316
|
-
<a name='L251'></a><a href='#L251'>251</a>
|
|
317
|
-
<a name='L252'></a><a href='#L252'>252</a>
|
|
318
|
-
<a name='L253'></a><a href='#L253'>253</a>
|
|
319
|
-
<a name='L254'></a><a href='#L254'>254</a>
|
|
320
|
-
<a name='L255'></a><a href='#L255'>255</a>
|
|
321
|
-
<a name='L256'></a><a href='#L256'>256</a>
|
|
322
|
-
<a name='L257'></a><a href='#L257'>257</a>
|
|
323
|
-
<a name='L258'></a><a href='#L258'>258</a>
|
|
324
|
-
<a name='L259'></a><a href='#L259'>259</a>
|
|
325
|
-
<a name='L260'></a><a href='#L260'>260</a>
|
|
326
|
-
<a name='L261'></a><a href='#L261'>261</a>
|
|
327
|
-
<a name='L262'></a><a href='#L262'>262</a>
|
|
328
|
-
<a name='L263'></a><a href='#L263'>263</a>
|
|
329
|
-
<a name='L264'></a><a href='#L264'>264</a>
|
|
330
|
-
<a name='L265'></a><a href='#L265'>265</a>
|
|
331
|
-
<a name='L266'></a><a href='#L266'>266</a>
|
|
332
|
-
<a name='L267'></a><a href='#L267'>267</a>
|
|
333
|
-
<a name='L268'></a><a href='#L268'>268</a>
|
|
334
|
-
<a name='L269'></a><a href='#L269'>269</a>
|
|
335
|
-
<a name='L270'></a><a href='#L270'>270</a>
|
|
336
|
-
<a name='L271'></a><a href='#L271'>271</a>
|
|
337
|
-
<a name='L272'></a><a href='#L272'>272</a>
|
|
338
|
-
<a name='L273'></a><a href='#L273'>273</a>
|
|
339
|
-
<a name='L274'></a><a href='#L274'>274</a>
|
|
340
|
-
<a name='L275'></a><a href='#L275'>275</a>
|
|
341
|
-
<a name='L276'></a><a href='#L276'>276</a>
|
|
342
|
-
<a name='L277'></a><a href='#L277'>277</a>
|
|
343
|
-
<a name='L278'></a><a href='#L278'>278</a>
|
|
344
|
-
<a name='L279'></a><a href='#L279'>279</a>
|
|
345
|
-
<a name='L280'></a><a href='#L280'>280</a>
|
|
346
|
-
<a name='L281'></a><a href='#L281'>281</a>
|
|
347
|
-
<a name='L282'></a><a href='#L282'>282</a>
|
|
348
|
-
<a name='L283'></a><a href='#L283'>283</a>
|
|
349
|
-
<a name='L284'></a><a href='#L284'>284</a>
|
|
350
|
-
<a name='L285'></a><a href='#L285'>285</a>
|
|
351
|
-
<a name='L286'></a><a href='#L286'>286</a>
|
|
352
|
-
<a name='L287'></a><a href='#L287'>287</a>
|
|
353
|
-
<a name='L288'></a><a href='#L288'>288</a>
|
|
354
|
-
<a name='L289'></a><a href='#L289'>289</a>
|
|
355
|
-
<a name='L290'></a><a href='#L290'>290</a>
|
|
356
|
-
<a name='L291'></a><a href='#L291'>291</a>
|
|
357
|
-
<a name='L292'></a><a href='#L292'>292</a>
|
|
358
|
-
<a name='L293'></a><a href='#L293'>293</a>
|
|
359
|
-
<a name='L294'></a><a href='#L294'>294</a>
|
|
360
|
-
<a name='L295'></a><a href='#L295'>295</a>
|
|
361
|
-
<a name='L296'></a><a href='#L296'>296</a>
|
|
362
|
-
<a name='L297'></a><a href='#L297'>297</a>
|
|
363
|
-
<a name='L298'></a><a href='#L298'>298</a>
|
|
364
|
-
<a name='L299'></a><a href='#L299'>299</a>
|
|
365
|
-
<a name='L300'></a><a href='#L300'>300</a>
|
|
366
|
-
<a name='L301'></a><a href='#L301'>301</a>
|
|
367
|
-
<a name='L302'></a><a href='#L302'>302</a>
|
|
368
|
-
<a name='L303'></a><a href='#L303'>303</a>
|
|
369
|
-
<a name='L304'></a><a href='#L304'>304</a>
|
|
370
|
-
<a name='L305'></a><a href='#L305'>305</a>
|
|
371
|
-
<a name='L306'></a><a href='#L306'>306</a>
|
|
372
|
-
<a name='L307'></a><a href='#L307'>307</a>
|
|
373
|
-
<a name='L308'></a><a href='#L308'>308</a>
|
|
374
|
-
<a name='L309'></a><a href='#L309'>309</a>
|
|
375
|
-
<a name='L310'></a><a href='#L310'>310</a>
|
|
376
|
-
<a name='L311'></a><a href='#L311'>311</a>
|
|
377
|
-
<a name='L312'></a><a href='#L312'>312</a>
|
|
378
|
-
<a name='L313'></a><a href='#L313'>313</a>
|
|
379
|
-
<a name='L314'></a><a href='#L314'>314</a>
|
|
380
|
-
<a name='L315'></a><a href='#L315'>315</a>
|
|
381
|
-
<a name='L316'></a><a href='#L316'>316</a>
|
|
382
|
-
<a name='L317'></a><a href='#L317'>317</a>
|
|
383
|
-
<a name='L318'></a><a href='#L318'>318</a>
|
|
384
|
-
<a name='L319'></a><a href='#L319'>319</a>
|
|
385
|
-
<a name='L320'></a><a href='#L320'>320</a>
|
|
386
|
-
<a name='L321'></a><a href='#L321'>321</a>
|
|
387
|
-
<a name='L322'></a><a href='#L322'>322</a>
|
|
388
|
-
<a name='L323'></a><a href='#L323'>323</a>
|
|
389
|
-
<a name='L324'></a><a href='#L324'>324</a>
|
|
390
|
-
<a name='L325'></a><a href='#L325'>325</a>
|
|
391
|
-
<a name='L326'></a><a href='#L326'>326</a>
|
|
392
|
-
<a name='L327'></a><a href='#L327'>327</a>
|
|
393
|
-
<a name='L328'></a><a href='#L328'>328</a>
|
|
394
|
-
<a name='L329'></a><a href='#L329'>329</a>
|
|
395
|
-
<a name='L330'></a><a href='#L330'>330</a>
|
|
396
|
-
<a name='L331'></a><a href='#L331'>331</a>
|
|
397
|
-
<a name='L332'></a><a href='#L332'>332</a>
|
|
398
|
-
<a name='L333'></a><a href='#L333'>333</a>
|
|
399
|
-
<a name='L334'></a><a href='#L334'>334</a>
|
|
400
|
-
<a name='L335'></a><a href='#L335'>335</a>
|
|
401
|
-
<a name='L336'></a><a href='#L336'>336</a>
|
|
402
|
-
<a name='L337'></a><a href='#L337'>337</a>
|
|
403
|
-
<a name='L338'></a><a href='#L338'>338</a>
|
|
404
|
-
<a name='L339'></a><a href='#L339'>339</a>
|
|
405
|
-
<a name='L340'></a><a href='#L340'>340</a>
|
|
406
|
-
<a name='L341'></a><a href='#L341'>341</a>
|
|
407
|
-
<a name='L342'></a><a href='#L342'>342</a>
|
|
408
|
-
<a name='L343'></a><a href='#L343'>343</a>
|
|
409
|
-
<a name='L344'></a><a href='#L344'>344</a>
|
|
410
|
-
<a name='L345'></a><a href='#L345'>345</a>
|
|
411
|
-
<a name='L346'></a><a href='#L346'>346</a>
|
|
412
|
-
<a name='L347'></a><a href='#L347'>347</a>
|
|
413
|
-
<a name='L348'></a><a href='#L348'>348</a>
|
|
414
|
-
<a name='L349'></a><a href='#L349'>349</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
415
|
-
<span class="cline-any cline-no"> </span>
|
|
416
|
-
<span class="cline-any cline-no"> </span>
|
|
417
|
-
<span class="cline-any cline-neutral"> </span>
|
|
418
|
-
<span class="cline-any cline-no"> </span>
|
|
419
|
-
<span class="cline-any cline-no"> </span>
|
|
420
|
-
<span class="cline-any cline-neutral"> </span>
|
|
421
|
-
<span class="cline-any cline-neutral"> </span>
|
|
422
|
-
<span class="cline-any cline-neutral"> </span>
|
|
423
|
-
<span class="cline-any cline-neutral"> </span>
|
|
424
|
-
<span class="cline-any cline-neutral"> </span>
|
|
425
|
-
<span class="cline-any cline-neutral"> </span>
|
|
426
|
-
<span class="cline-any cline-neutral"> </span>
|
|
427
|
-
<span class="cline-any cline-neutral"> </span>
|
|
428
|
-
<span class="cline-any cline-neutral"> </span>
|
|
429
|
-
<span class="cline-any cline-neutral"> </span>
|
|
430
|
-
<span class="cline-any cline-neutral"> </span>
|
|
431
|
-
<span class="cline-any cline-neutral"> </span>
|
|
432
|
-
<span class="cline-any cline-neutral"> </span>
|
|
433
|
-
<span class="cline-any cline-neutral"> </span>
|
|
434
|
-
<span class="cline-any cline-neutral"> </span>
|
|
435
|
-
<span class="cline-any cline-neutral"> </span>
|
|
436
|
-
<span class="cline-any cline-neutral"> </span>
|
|
437
|
-
<span class="cline-any cline-neutral"> </span>
|
|
438
|
-
<span class="cline-any cline-neutral"> </span>
|
|
439
|
-
<span class="cline-any cline-neutral"> </span>
|
|
440
|
-
<span class="cline-any cline-neutral"> </span>
|
|
441
|
-
<span class="cline-any cline-neutral"> </span>
|
|
442
|
-
<span class="cline-any cline-neutral"> </span>
|
|
443
|
-
<span class="cline-any cline-neutral"> </span>
|
|
444
|
-
<span class="cline-any cline-neutral"> </span>
|
|
445
|
-
<span class="cline-any cline-neutral"> </span>
|
|
446
|
-
<span class="cline-any cline-neutral"> </span>
|
|
447
|
-
<span class="cline-any cline-neutral"> </span>
|
|
448
|
-
<span class="cline-any cline-neutral"> </span>
|
|
449
|
-
<span class="cline-any cline-no"> </span>
|
|
450
|
-
<span class="cline-any cline-neutral"> </span>
|
|
451
|
-
<span class="cline-any cline-no"> </span>
|
|
452
|
-
<span class="cline-any cline-neutral"> </span>
|
|
453
|
-
<span class="cline-any cline-neutral"> </span>
|
|
454
|
-
<span class="cline-any cline-no"> </span>
|
|
455
|
-
<span class="cline-any cline-neutral"> </span>
|
|
456
|
-
<span class="cline-any cline-neutral"> </span>
|
|
457
|
-
<span class="cline-any cline-neutral"> </span>
|
|
458
|
-
<span class="cline-any cline-no"> </span>
|
|
459
|
-
<span class="cline-any cline-neutral"> </span>
|
|
460
|
-
<span class="cline-any cline-neutral"> </span>
|
|
461
|
-
<span class="cline-any cline-neutral"> </span>
|
|
462
|
-
<span class="cline-any cline-neutral"> </span>
|
|
463
|
-
<span class="cline-any cline-neutral"> </span>
|
|
464
|
-
<span class="cline-any cline-neutral"> </span>
|
|
465
|
-
<span class="cline-any cline-neutral"> </span>
|
|
466
|
-
<span class="cline-any cline-neutral"> </span>
|
|
467
|
-
<span class="cline-any cline-neutral"> </span>
|
|
468
|
-
<span class="cline-any cline-neutral"> </span>
|
|
469
|
-
<span class="cline-any cline-neutral"> </span>
|
|
470
|
-
<span class="cline-any cline-neutral"> </span>
|
|
471
|
-
<span class="cline-any cline-neutral"> </span>
|
|
472
|
-
<span class="cline-any cline-neutral"> </span>
|
|
473
|
-
<span class="cline-any cline-neutral"> </span>
|
|
474
|
-
<span class="cline-any cline-no"> </span>
|
|
475
|
-
<span class="cline-any cline-no"> </span>
|
|
476
|
-
<span class="cline-any cline-neutral"> </span>
|
|
477
|
-
<span class="cline-any cline-neutral"> </span>
|
|
478
|
-
<span class="cline-any cline-neutral"> </span>
|
|
479
|
-
<span class="cline-any cline-neutral"> </span>
|
|
480
|
-
<span class="cline-any cline-neutral"> </span>
|
|
481
|
-
<span class="cline-any cline-neutral"> </span>
|
|
482
|
-
<span class="cline-any cline-neutral"> </span>
|
|
483
|
-
<span class="cline-any cline-neutral"> </span>
|
|
484
|
-
<span class="cline-any cline-neutral"> </span>
|
|
485
|
-
<span class="cline-any cline-neutral"> </span>
|
|
486
|
-
<span class="cline-any cline-neutral"> </span>
|
|
487
|
-
<span class="cline-any cline-neutral"> </span>
|
|
488
|
-
<span class="cline-any cline-no"> </span>
|
|
489
|
-
<span class="cline-any cline-no"> </span>
|
|
490
|
-
<span class="cline-any cline-no"> </span>
|
|
491
|
-
<span class="cline-any cline-no"> </span>
|
|
492
|
-
<span class="cline-any cline-neutral"> </span>
|
|
493
|
-
<span class="cline-any cline-neutral"> </span>
|
|
494
|
-
<span class="cline-any cline-no"> </span>
|
|
495
|
-
<span class="cline-any cline-neutral"> </span>
|
|
496
|
-
<span class="cline-any cline-neutral"> </span>
|
|
497
|
-
<span class="cline-any cline-no"> </span>
|
|
498
|
-
<span class="cline-any cline-no"> </span>
|
|
499
|
-
<span class="cline-any cline-no"> </span>
|
|
500
|
-
<span class="cline-any cline-no"> </span>
|
|
501
|
-
<span class="cline-any cline-neutral"> </span>
|
|
502
|
-
<span class="cline-any cline-neutral"> </span>
|
|
503
|
-
<span class="cline-any cline-neutral"> </span>
|
|
504
|
-
<span class="cline-any cline-neutral"> </span>
|
|
505
|
-
<span class="cline-any cline-neutral"> </span>
|
|
506
|
-
<span class="cline-any cline-no"> </span>
|
|
507
|
-
<span class="cline-any cline-neutral"> </span>
|
|
508
|
-
<span class="cline-any cline-no"> </span>
|
|
509
|
-
<span class="cline-any cline-no"> </span>
|
|
510
|
-
<span class="cline-any cline-neutral"> </span>
|
|
511
|
-
<span class="cline-any cline-no"> </span>
|
|
512
|
-
<span class="cline-any cline-no"> </span>
|
|
513
|
-
<span class="cline-any cline-no"> </span>
|
|
514
|
-
<span class="cline-any cline-neutral"> </span>
|
|
515
|
-
<span class="cline-any cline-no"> </span>
|
|
516
|
-
<span class="cline-any cline-no"> </span>
|
|
517
|
-
<span class="cline-any cline-neutral"> </span>
|
|
518
|
-
<span class="cline-any cline-neutral"> </span>
|
|
519
|
-
<span class="cline-any cline-no"> </span>
|
|
520
|
-
<span class="cline-any cline-neutral"> </span>
|
|
521
|
-
<span class="cline-any cline-no"> </span>
|
|
522
|
-
<span class="cline-any cline-neutral"> </span>
|
|
523
|
-
<span class="cline-any cline-neutral"> </span>
|
|
524
|
-
<span class="cline-any cline-neutral"> </span>
|
|
525
|
-
<span class="cline-any cline-no"> </span>
|
|
526
|
-
<span class="cline-any cline-no"> </span>
|
|
527
|
-
<span class="cline-any cline-no"> </span>
|
|
528
|
-
<span class="cline-any cline-neutral"> </span>
|
|
529
|
-
<span class="cline-any cline-no"> </span>
|
|
530
|
-
<span class="cline-any cline-no"> </span>
|
|
531
|
-
<span class="cline-any cline-neutral"> </span>
|
|
532
|
-
<span class="cline-any cline-neutral"> </span>
|
|
533
|
-
<span class="cline-any cline-no"> </span>
|
|
534
|
-
<span class="cline-any cline-neutral"> </span>
|
|
535
|
-
<span class="cline-any cline-neutral"> </span>
|
|
536
|
-
<span class="cline-any cline-no"> </span>
|
|
537
|
-
<span class="cline-any cline-neutral"> </span>
|
|
538
|
-
<span class="cline-any cline-no"> </span>
|
|
539
|
-
<span class="cline-any cline-no"> </span>
|
|
540
|
-
<span class="cline-any cline-neutral"> </span>
|
|
541
|
-
<span class="cline-any cline-neutral"> </span>
|
|
542
|
-
<span class="cline-any cline-neutral"> </span>
|
|
543
|
-
<span class="cline-any cline-neutral"> </span>
|
|
544
|
-
<span class="cline-any cline-no"> </span>
|
|
545
|
-
<span class="cline-any cline-no"> </span>
|
|
546
|
-
<span class="cline-any cline-neutral"> </span>
|
|
547
|
-
<span class="cline-any cline-neutral"> </span>
|
|
548
|
-
<span class="cline-any cline-neutral"> </span>
|
|
549
|
-
<span class="cline-any cline-no"> </span>
|
|
550
|
-
<span class="cline-any cline-neutral"> </span>
|
|
551
|
-
<span class="cline-any cline-no"> </span>
|
|
552
|
-
<span class="cline-any cline-no"> </span>
|
|
553
|
-
<span class="cline-any cline-no"> </span>
|
|
554
|
-
<span class="cline-any cline-neutral"> </span>
|
|
555
|
-
<span class="cline-any cline-neutral"> </span>
|
|
556
|
-
<span class="cline-any cline-no"> </span>
|
|
557
|
-
<span class="cline-any cline-no"> </span>
|
|
558
|
-
<span class="cline-any cline-no"> </span>
|
|
559
|
-
<span class="cline-any cline-neutral"> </span>
|
|
560
|
-
<span class="cline-any cline-no"> </span>
|
|
561
|
-
<span class="cline-any cline-no"> </span>
|
|
562
|
-
<span class="cline-any cline-no"> </span>
|
|
563
|
-
<span class="cline-any cline-no"> </span>
|
|
564
|
-
<span class="cline-any cline-neutral"> </span>
|
|
565
|
-
<span class="cline-any cline-no"> </span>
|
|
566
|
-
<span class="cline-any cline-neutral"> </span>
|
|
567
|
-
<span class="cline-any cline-neutral"> </span>
|
|
568
|
-
<span class="cline-any cline-neutral"> </span>
|
|
569
|
-
<span class="cline-any cline-no"> </span>
|
|
570
|
-
<span class="cline-any cline-no"> </span>
|
|
571
|
-
<span class="cline-any cline-no"> </span>
|
|
572
|
-
<span class="cline-any cline-no"> </span>
|
|
573
|
-
<span class="cline-any cline-no"> </span>
|
|
574
|
-
<span class="cline-any cline-neutral"> </span>
|
|
575
|
-
<span class="cline-any cline-neutral"> </span>
|
|
576
|
-
<span class="cline-any cline-no"> </span>
|
|
577
|
-
<span class="cline-any cline-no"> </span>
|
|
578
|
-
<span class="cline-any cline-neutral"> </span>
|
|
579
|
-
<span class="cline-any cline-no"> </span>
|
|
580
|
-
<span class="cline-any cline-no"> </span>
|
|
581
|
-
<span class="cline-any cline-no"> </span>
|
|
582
|
-
<span class="cline-any cline-neutral"> </span>
|
|
583
|
-
<span class="cline-any cline-no"> </span>
|
|
584
|
-
<span class="cline-any cline-no"> </span>
|
|
585
|
-
<span class="cline-any cline-no"> </span>
|
|
586
|
-
<span class="cline-any cline-neutral"> </span>
|
|
587
|
-
<span class="cline-any cline-neutral"> </span>
|
|
588
|
-
<span class="cline-any cline-no"> </span>
|
|
589
|
-
<span class="cline-any cline-no"> </span>
|
|
590
|
-
<span class="cline-any cline-no"> </span>
|
|
591
|
-
<span class="cline-any cline-no"> </span>
|
|
592
|
-
<span class="cline-any cline-no"> </span>
|
|
593
|
-
<span class="cline-any cline-no"> </span>
|
|
594
|
-
<span class="cline-any cline-neutral"> </span>
|
|
595
|
-
<span class="cline-any cline-neutral"> </span>
|
|
596
|
-
<span class="cline-any cline-no"> </span>
|
|
597
|
-
<span class="cline-any cline-no"> </span>
|
|
598
|
-
<span class="cline-any cline-neutral"> </span>
|
|
599
|
-
<span class="cline-any cline-neutral"> </span>
|
|
600
|
-
<span class="cline-any cline-no"> </span>
|
|
601
|
-
<span class="cline-any cline-neutral"> </span>
|
|
602
|
-
<span class="cline-any cline-no"> </span>
|
|
603
|
-
<span class="cline-any cline-neutral"> </span>
|
|
604
|
-
<span class="cline-any cline-neutral"> </span>
|
|
605
|
-
<span class="cline-any cline-neutral"> </span>
|
|
606
|
-
<span class="cline-any cline-neutral"> </span>
|
|
607
|
-
<span class="cline-any cline-neutral"> </span>
|
|
608
|
-
<span class="cline-any cline-neutral"> </span>
|
|
609
|
-
<span class="cline-any cline-neutral"> </span>
|
|
610
|
-
<span class="cline-any cline-neutral"> </span>
|
|
611
|
-
<span class="cline-any cline-neutral"> </span>
|
|
612
|
-
<span class="cline-any cline-neutral"> </span>
|
|
613
|
-
<span class="cline-any cline-neutral"> </span>
|
|
614
|
-
<span class="cline-any cline-neutral"> </span>
|
|
615
|
-
<span class="cline-any cline-neutral"> </span>
|
|
616
|
-
<span class="cline-any cline-no"> </span>
|
|
617
|
-
<span class="cline-any cline-no"> </span>
|
|
618
|
-
<span class="cline-any cline-neutral"> </span>
|
|
619
|
-
<span class="cline-any cline-neutral"> </span>
|
|
620
|
-
<span class="cline-any cline-no"> </span>
|
|
621
|
-
<span class="cline-any cline-neutral"> </span>
|
|
622
|
-
<span class="cline-any cline-neutral"> </span>
|
|
623
|
-
<span class="cline-any cline-neutral"> </span>
|
|
624
|
-
<span class="cline-any cline-neutral"> </span>
|
|
625
|
-
<span class="cline-any cline-neutral"> </span>
|
|
626
|
-
<span class="cline-any cline-neutral"> </span>
|
|
627
|
-
<span class="cline-any cline-neutral"> </span>
|
|
628
|
-
<span class="cline-any cline-neutral"> </span>
|
|
629
|
-
<span class="cline-any cline-neutral"> </span>
|
|
630
|
-
<span class="cline-any cline-neutral"> </span>
|
|
631
|
-
<span class="cline-any cline-neutral"> </span>
|
|
632
|
-
<span class="cline-any cline-neutral"> </span>
|
|
633
|
-
<span class="cline-any cline-no"> </span>
|
|
634
|
-
<span class="cline-any cline-neutral"> </span>
|
|
635
|
-
<span class="cline-any cline-neutral"> </span>
|
|
636
|
-
<span class="cline-any cline-neutral"> </span>
|
|
637
|
-
<span class="cline-any cline-neutral"> </span>
|
|
638
|
-
<span class="cline-any cline-neutral"> </span>
|
|
639
|
-
<span class="cline-any cline-neutral"> </span>
|
|
640
|
-
<span class="cline-any cline-neutral"> </span>
|
|
641
|
-
<span class="cline-any cline-neutral"> </span>
|
|
642
|
-
<span class="cline-any cline-neutral"> </span>
|
|
643
|
-
<span class="cline-any cline-neutral"> </span>
|
|
644
|
-
<span class="cline-any cline-neutral"> </span>
|
|
645
|
-
<span class="cline-any cline-neutral"> </span>
|
|
646
|
-
<span class="cline-any cline-no"> </span>
|
|
647
|
-
<span class="cline-any cline-neutral"> </span>
|
|
648
|
-
<span class="cline-any cline-no"> </span>
|
|
649
|
-
<span class="cline-any cline-neutral"> </span>
|
|
650
|
-
<span class="cline-any cline-neutral"> </span>
|
|
651
|
-
<span class="cline-any cline-no"> </span>
|
|
652
|
-
<span class="cline-any cline-neutral"> </span>
|
|
653
|
-
<span class="cline-any cline-neutral"> </span>
|
|
654
|
-
<span class="cline-any cline-neutral"> </span>
|
|
655
|
-
<span class="cline-any cline-neutral"> </span>
|
|
656
|
-
<span class="cline-any cline-no"> </span>
|
|
657
|
-
<span class="cline-any cline-no"> </span>
|
|
658
|
-
<span class="cline-any cline-no"> </span>
|
|
659
|
-
<span class="cline-any cline-neutral"> </span>
|
|
660
|
-
<span class="cline-any cline-neutral"> </span>
|
|
661
|
-
<span class="cline-any cline-no"> </span>
|
|
662
|
-
<span class="cline-any cline-no"> </span>
|
|
663
|
-
<span class="cline-any cline-neutral"> </span>
|
|
664
|
-
<span class="cline-any cline-no"> </span>
|
|
665
|
-
<span class="cline-any cline-no"> </span>
|
|
666
|
-
<span class="cline-any cline-no"> </span>
|
|
667
|
-
<span class="cline-any cline-neutral"> </span>
|
|
668
|
-
<span class="cline-any cline-no"> </span>
|
|
669
|
-
<span class="cline-any cline-neutral"> </span>
|
|
670
|
-
<span class="cline-any cline-neutral"> </span>
|
|
671
|
-
<span class="cline-any cline-no"> </span>
|
|
672
|
-
<span class="cline-any cline-no"> </span>
|
|
673
|
-
<span class="cline-any cline-neutral"> </span>
|
|
674
|
-
<span class="cline-any cline-no"> </span>
|
|
675
|
-
<span class="cline-any cline-no"> </span>
|
|
676
|
-
<span class="cline-any cline-no"> </span>
|
|
677
|
-
<span class="cline-any cline-no"> </span>
|
|
678
|
-
<span class="cline-any cline-no"> </span>
|
|
679
|
-
<span class="cline-any cline-no"> </span>
|
|
680
|
-
<span class="cline-any cline-no"> </span>
|
|
681
|
-
<span class="cline-any cline-no"> </span>
|
|
682
|
-
<span class="cline-any cline-neutral"> </span>
|
|
683
|
-
<span class="cline-any cline-neutral"> </span>
|
|
684
|
-
<span class="cline-any cline-neutral"> </span>
|
|
685
|
-
<span class="cline-any cline-no"> </span>
|
|
686
|
-
<span class="cline-any cline-no"> </span>
|
|
687
|
-
<span class="cline-any cline-neutral"> </span>
|
|
688
|
-
<span class="cline-any cline-neutral"> </span>
|
|
689
|
-
<span class="cline-any cline-neutral"> </span>
|
|
690
|
-
<span class="cline-any cline-neutral"> </span>
|
|
691
|
-
<span class="cline-any cline-neutral"> </span>
|
|
692
|
-
<span class="cline-any cline-neutral"> </span>
|
|
693
|
-
<span class="cline-any cline-neutral"> </span>
|
|
694
|
-
<span class="cline-any cline-neutral"> </span>
|
|
695
|
-
<span class="cline-any cline-neutral"> </span>
|
|
696
|
-
<span class="cline-any cline-neutral"> </span>
|
|
697
|
-
<span class="cline-any cline-neutral"> </span>
|
|
698
|
-
<span class="cline-any cline-neutral"> </span>
|
|
699
|
-
<span class="cline-any cline-neutral"> </span>
|
|
700
|
-
<span class="cline-any cline-no"> </span>
|
|
701
|
-
<span class="cline-any cline-no"> </span>
|
|
702
|
-
<span class="cline-any cline-neutral"> </span>
|
|
703
|
-
<span class="cline-any cline-neutral"> </span>
|
|
704
|
-
<span class="cline-any cline-no"> </span>
|
|
705
|
-
<span class="cline-any cline-neutral"> </span>
|
|
706
|
-
<span class="cline-any cline-neutral"> </span>
|
|
707
|
-
<span class="cline-any cline-neutral"> </span>
|
|
708
|
-
<span class="cline-any cline-neutral"> </span>
|
|
709
|
-
<span class="cline-any cline-neutral"> </span>
|
|
710
|
-
<span class="cline-any cline-neutral"> </span>
|
|
711
|
-
<span class="cline-any cline-neutral"> </span>
|
|
712
|
-
<span class="cline-any cline-neutral"> </span>
|
|
713
|
-
<span class="cline-any cline-neutral"> </span>
|
|
714
|
-
<span class="cline-any cline-neutral"> </span>
|
|
715
|
-
<span class="cline-any cline-neutral"> </span>
|
|
716
|
-
<span class="cline-any cline-neutral"> </span>
|
|
717
|
-
<span class="cline-any cline-neutral"> </span>
|
|
718
|
-
<span class="cline-any cline-neutral"> </span>
|
|
719
|
-
<span class="cline-any cline-neutral"> </span>
|
|
720
|
-
<span class="cline-any cline-neutral"> </span>
|
|
721
|
-
<span class="cline-any cline-no"> </span>
|
|
722
|
-
<span class="cline-any cline-neutral"> </span>
|
|
723
|
-
<span class="cline-any cline-neutral"> </span>
|
|
724
|
-
<span class="cline-any cline-neutral"> </span>
|
|
725
|
-
<span class="cline-any cline-neutral"> </span>
|
|
726
|
-
<span class="cline-any cline-neutral"> </span>
|
|
727
|
-
<span class="cline-any cline-neutral"> </span>
|
|
728
|
-
<span class="cline-any cline-no"> </span>
|
|
729
|
-
<span class="cline-any cline-no"> </span>
|
|
730
|
-
<span class="cline-any cline-neutral"> </span>
|
|
731
|
-
<span class="cline-any cline-no"> </span>
|
|
732
|
-
<span class="cline-any cline-neutral"> </span>
|
|
733
|
-
<span class="cline-any cline-neutral"> </span>
|
|
734
|
-
<span class="cline-any cline-neutral"> </span>
|
|
735
|
-
<span class="cline-any cline-no"> </span>
|
|
736
|
-
<span class="cline-any cline-no"> </span>
|
|
737
|
-
<span class="cline-any cline-no"> </span>
|
|
738
|
-
<span class="cline-any cline-neutral"> </span>
|
|
739
|
-
<span class="cline-any cline-no"> </span>
|
|
740
|
-
<span class="cline-any cline-neutral"> </span>
|
|
741
|
-
<span class="cline-any cline-neutral"> </span>
|
|
742
|
-
<span class="cline-any cline-no"> </span>
|
|
743
|
-
<span class="cline-any cline-no"> </span>
|
|
744
|
-
<span class="cline-any cline-no"> </span>
|
|
745
|
-
<span class="cline-any cline-no"> </span>
|
|
746
|
-
<span class="cline-any cline-neutral"> </span>
|
|
747
|
-
<span class="cline-any cline-neutral"> </span>
|
|
748
|
-
<span class="cline-any cline-neutral"> </span>
|
|
749
|
-
<span class="cline-any cline-neutral"> </span>
|
|
750
|
-
<span class="cline-any cline-neutral"> </span>
|
|
751
|
-
<span class="cline-any cline-no"> </span>
|
|
752
|
-
<span class="cline-any cline-no"> </span>
|
|
753
|
-
<span class="cline-any cline-no"> </span>
|
|
754
|
-
<span class="cline-any cline-no"> </span>
|
|
755
|
-
<span class="cline-any cline-neutral"> </span>
|
|
756
|
-
<span class="cline-any cline-neutral"> </span>
|
|
757
|
-
<span class="cline-any cline-neutral"> </span>
|
|
758
|
-
<span class="cline-any cline-no"> </span>
|
|
759
|
-
<span class="cline-any cline-no"> </span>
|
|
760
|
-
<span class="cline-any cline-neutral"> </span>
|
|
761
|
-
<span class="cline-any cline-neutral"> </span>
|
|
762
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import type App from '../app/index.js'
|
|
763
|
-
<span class="cstat-no" title="statement not covered" >import { NetworkRequest } from '../app/messages.gen.js'</span>
|
|
764
|
-
<span class="cstat-no" title="statement not covered" >import { getTimeOrigin } from '../utils.js'</span>
|
|
765
|
-
import type { AxiosInstance } from './axiosSpy.js'
|
|
766
|
-
<span class="cstat-no" title="statement not covered" >import axiosSpy from './axiosSpy.js'</span>
|
|
767
|
-
<span class="cstat-no" title="statement not covered" >import setProxy from './Network/index.js'</span>
|
|
768
|
-
|
|
769
|
-
type WindowFetch = typeof window.fetch
|
|
770
|
-
type XHRRequestBody = Parameters<XMLHttpRequest['send']>[0]
|
|
771
|
-
|
|
772
|
-
interface RequestData {
|
|
773
|
-
body: string | null
|
|
774
|
-
headers: Record<string, string>
|
|
775
|
-
}
|
|
776
|
-
|
|
777
|
-
interface ResponseData {
|
|
778
|
-
body: any
|
|
779
|
-
headers: Record<string, string>
|
|
780
|
-
}
|
|
781
|
-
|
|
782
|
-
export interface RequestResponseData {
|
|
783
|
-
readonly status: number
|
|
784
|
-
readonly method: string
|
|
785
|
-
url: string
|
|
786
|
-
request: RequestData
|
|
787
|
-
response: ResponseData
|
|
788
|
-
}
|
|
789
|
-
|
|
790
|
-
interface XHRRequestData {
|
|
791
|
-
body: XHRRequestBody
|
|
792
|
-
headers: Record<string, string>
|
|
793
|
-
}
|
|
794
|
-
|
|
795
|
-
function <span class="fstat-no" title="function not covered" >getXHRRequestDataObject(</span>xhr: XMLHttpRequest): XHRRequestData {
|
|
796
|
-
// @ts-ignore this is 3x faster than using Map<XHR, XHRRequestData>
|
|
797
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!xhr.__or_req_data__) {</span>
|
|
798
|
-
// @ts-ignore
|
|
799
|
-
<span class="cstat-no" title="statement not covered" > xhr.__or_req_data__ = { body: undefined, headers: {} }</span>
|
|
800
|
-
}
|
|
801
|
-
// @ts-ignore
|
|
802
|
-
<span class="cstat-no" title="statement not covered" > return xhr.__or_req_data__</span>
|
|
803
|
-
}
|
|
804
|
-
|
|
805
|
-
function <span class="fstat-no" title="function not covered" >strMethod(</span>method?: string) {
|
|
806
|
-
<span class="cstat-no" title="statement not covered" > return typeof method === 'string' ? method.toUpperCase() : 'GET'</span>
|
|
807
|
-
}
|
|
808
|
-
|
|
809
|
-
type Sanitizer = (data: RequestResponseData) => RequestResponseData
|
|
810
|
-
|
|
811
|
-
export interface Options {
|
|
812
|
-
sessionTokenHeader: string | boolean
|
|
813
|
-
failuresOnly: boolean
|
|
814
|
-
ignoreHeaders: Array<string> | boolean
|
|
815
|
-
capturePayload: boolean
|
|
816
|
-
captureInIframes: boolean
|
|
817
|
-
sanitizer?: Sanitizer
|
|
818
|
-
axiosInstances?: Array<AxiosInstance>
|
|
819
|
-
useProxy?: boolean
|
|
820
|
-
}
|
|
821
|
-
|
|
822
|
-
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >export default function (a</span></span>pp: App, opts: Partial<Options> = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
|
|
823
|
-
const options: Options = <span class="cstat-no" title="statement not covered" >Object.assign(</span>
|
|
824
|
-
{
|
|
825
|
-
failuresOnly: false,
|
|
826
|
-
ignoreHeaders: ['Cookie', 'Set-Cookie', 'Authorization'],
|
|
827
|
-
capturePayload: false,
|
|
828
|
-
sessionTokenHeader: false,
|
|
829
|
-
captureInIframes: true,
|
|
830
|
-
axiosInstances: undefined,
|
|
831
|
-
useProxy: true,
|
|
832
|
-
},
|
|
833
|
-
opts,
|
|
834
|
-
)
|
|
835
|
-
|
|
836
|
-
const ignoreHeaders = <span class="cstat-no" title="statement not covered" >options.ignoreHeaders</span>
|
|
837
|
-
const isHIgnored = <span class="cstat-no" title="statement not covered" >Array.isArray(ignoreHeaders)</span>
|
|
838
|
-
? <span class="fstat-no" title="function not covered" >(n</span>ame: string) => <span class="cstat-no" title="statement not covered" >ignoreHeaders.includes(name)</span>
|
|
839
|
-
: <span class="fstat-no" title="function not covered" >() =</span>> <span class="cstat-no" title="statement not covered" >ignoreHeaders</span>
|
|
840
|
-
|
|
841
|
-
const stHeader =
|
|
842
|
-
<span class="cstat-no" title="statement not covered" > options.sessionTokenHeader === true ? 'X-OpenReplay-SessionToken' : options.sessionTokenHeader</span>
|
|
843
|
-
|
|
844
|
-
function <span class="fstat-no" title="function not covered" >setSessionTokenHeader(</span>setRequestHeader: (name: string, value: string) => void) {
|
|
845
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (stHeader) {</span>
|
|
846
|
-
const sessionToken = <span class="cstat-no" title="statement not covered" >app.getSessionToken()</span>
|
|
847
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (sessionToken) {</span>
|
|
848
|
-
<span class="cstat-no" title="statement not covered" > app.safe(setRequestHeader)(stHeader, sessionToken)</span>
|
|
849
|
-
}
|
|
850
|
-
}
|
|
851
|
-
}
|
|
852
|
-
|
|
853
|
-
function <span class="fstat-no" title="function not covered" >sanitize(</span>reqResInfo: RequestResponseData) {
|
|
854
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!options.capturePayload) {</span>
|
|
855
|
-
// @ts-ignore
|
|
856
|
-
<span class="cstat-no" title="statement not covered" > delete reqResInfo.request.body</span>
|
|
857
|
-
<span class="cstat-no" title="statement not covered" > delete reqResInfo.response.body</span>
|
|
858
|
-
}
|
|
859
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (options.sanitizer) {</span>
|
|
860
|
-
const resBody = <span class="cstat-no" title="statement not covered" >reqResInfo.response.body</span>
|
|
861
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof resBody === 'string') {</span>
|
|
862
|
-
// Parse response in order to have handy view in sanitization function
|
|
863
|
-
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
864
|
-
<span class="cstat-no" title="statement not covered" > reqResInfo.response.body = JSON.parse(resBody)</span>
|
|
865
|
-
} catch {}
|
|
866
|
-
}
|
|
867
|
-
<span class="cstat-no" title="statement not covered" > return options.sanitizer(reqResInfo)</span>
|
|
868
|
-
}
|
|
869
|
-
<span class="cstat-no" title="statement not covered" > return reqResInfo</span>
|
|
870
|
-
}
|
|
871
|
-
|
|
872
|
-
function <span class="fstat-no" title="function not covered" >stringify(</span>r: RequestData | ResponseData): string {
|
|
873
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (r && typeof r.body !== 'string') {</span>
|
|
874
|
-
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
875
|
-
<span class="cstat-no" title="statement not covered" > r.body = JSON.stringify(r.body)</span>
|
|
876
|
-
} catch {
|
|
877
|
-
<span class="cstat-no" title="statement not covered" > r.body = '<unable to stringify>'</span>
|
|
878
|
-
<span class="cstat-no" title="statement not covered" > app.notify.warn("Openreplay fetch couldn't stringify body:", r.body)</span>
|
|
879
|
-
}
|
|
880
|
-
}
|
|
881
|
-
<span class="cstat-no" title="statement not covered" > return JSON.stringify(r)</span>
|
|
882
|
-
}
|
|
883
|
-
|
|
884
|
-
const patchWindow = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(c</span>ontext: typeof globalThis) => {</span>
|
|
885
|
-
/* ====== modern way ====== */
|
|
886
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (options.useProxy) {</span>
|
|
887
|
-
<span class="cstat-no" title="statement not covered" > return setProxy(</span>
|
|
888
|
-
context,
|
|
889
|
-
options.ignoreHeaders,
|
|
890
|
-
setSessionTokenHeader,
|
|
891
|
-
sanitize,
|
|
892
|
-
<span class="fstat-no" title="function not covered" > (m</span>essage) => <span class="cstat-no" title="statement not covered" >app.send(message),</span>
|
|
893
|
-
<span class="fstat-no" title="function not covered" > (u</span>rl) => <span class="cstat-no" title="statement not covered" >app.isServiceURL(url),</span>
|
|
894
|
-
)
|
|
895
|
-
}
|
|
896
|
-
/* ====== Fetch ====== */
|
|
897
|
-
const origFetch = <span class="cstat-no" title="statement not covered" >context.fetch.bind(context) as WindowFetch</span>
|
|
898
|
-
|
|
899
|
-
const trackFetch = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(i</span>nput: RequestInfo | URL, init: RequestInit = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> => {</span>
|
|
900
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!(typeof input === 'string' || input instanceof URL) || app.isServiceURL(String(input))) {</span>
|
|
901
|
-
<span class="cstat-no" title="statement not covered" > return origFetch(input, init)</span>
|
|
902
|
-
}
|
|
903
|
-
|
|
904
|
-
<span class="cstat-no" title="statement not covered" > setSessionTokenHeader(<span class="fstat-no" title="function not covered" >function (n</span>ame, value) {</span>
|
|
905
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (init.headers === undefined) {</span>
|
|
906
|
-
<span class="cstat-no" title="statement not covered" > init.headers = {}</span>
|
|
907
|
-
}
|
|
908
|
-
<span class="cstat-no" title="statement not covered" > if (init.headers instanceof Headers) {</span>
|
|
909
|
-
<span class="cstat-no" title="statement not covered" > init.headers.append(name, value)</span>
|
|
910
|
-
} else <span class="cstat-no" title="statement not covered" >if (Array.isArray(init.headers)) {</span>
|
|
911
|
-
<span class="cstat-no" title="statement not covered" > init.headers.push([name, value])</span>
|
|
912
|
-
} else {
|
|
913
|
-
<span class="cstat-no" title="statement not covered" > init.headers[name] = value</span>
|
|
914
|
-
}
|
|
915
|
-
})
|
|
916
|
-
|
|
917
|
-
const startTime = <span class="cstat-no" title="statement not covered" >performance.now()</span>
|
|
918
|
-
<span class="cstat-no" title="statement not covered" > return origFetch(input, init).then(<span class="fstat-no" title="function not covered" >(r</span>esponse) => {</span>
|
|
919
|
-
const duration = <span class="cstat-no" title="statement not covered" >performance.now() - startTime</span>
|
|
920
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (options.failuresOnly && response.status < 400) {</span>
|
|
921
|
-
<span class="cstat-no" title="statement not covered" > return response</span>
|
|
922
|
-
}
|
|
923
|
-
|
|
924
|
-
const r = <span class="cstat-no" title="statement not covered" >response.clone()</span>
|
|
925
|
-
<span class="cstat-no" title="statement not covered" > r.text()</span>
|
|
926
|
-
.then(<span class="fstat-no" title="function not covered" >(t</span>ext) => {
|
|
927
|
-
const reqHs: Record<string, string> = <span class="cstat-no" title="statement not covered" >{}</span>
|
|
928
|
-
const resHs: Record<string, string> = <span class="cstat-no" title="statement not covered" >{}</span>
|
|
929
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (ignoreHeaders !== true) {</span>
|
|
930
|
-
// request headers
|
|
931
|
-
const writeReqHeader = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >([</span>n, v]: [string, string]) => {</span>
|
|
932
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!isHIgnored(n)) {</span>
|
|
933
|
-
<span class="cstat-no" title="statement not covered" > reqHs[n] = v</span>
|
|
934
|
-
}
|
|
935
|
-
}
|
|
936
|
-
<span class="cstat-no" title="statement not covered" > if (init.headers instanceof Headers) {</span>
|
|
937
|
-
<span class="cstat-no" title="statement not covered" > init.headers.forEach(<span class="fstat-no" title="function not covered" >(v</span>, n) => <span class="cstat-no" title="statement not covered" >writeReqHeader([n, v]))</span></span>
|
|
938
|
-
} else <span class="cstat-no" title="statement not covered" >if (Array.isArray(init.headers)) {</span>
|
|
939
|
-
<span class="cstat-no" title="statement not covered" > init.headers.forEach(writeReqHeader)</span>
|
|
940
|
-
} else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="if path not taken" >I</span>if (typeof init.headers === 'object') {</span>
|
|
941
|
-
<span class="cstat-no" title="statement not covered" > Object.entries(init.headers).forEach(writeReqHeader)</span>
|
|
942
|
-
}
|
|
943
|
-
// response headers
|
|
944
|
-
<span class="cstat-no" title="statement not covered" > r.headers.forEach(<span class="fstat-no" title="function not covered" >(v</span>, n) => {</span>
|
|
945
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!isHIgnored(n)) <span class="cstat-no" title="statement not covered" >resHs[n] = v</span></span>
|
|
946
|
-
})
|
|
947
|
-
}
|
|
948
|
-
const method = <span class="cstat-no" title="statement not covered" >strMethod(init.method)</span>
|
|
949
|
-
|
|
950
|
-
const reqResInfo = <span class="cstat-no" title="statement not covered" >sanitize({</span>
|
|
951
|
-
url: String(input),
|
|
952
|
-
method,
|
|
953
|
-
status: r.status,
|
|
954
|
-
request: {
|
|
955
|
-
headers: reqHs,
|
|
956
|
-
// @ts-ignore
|
|
957
|
-
body: init.body || null,
|
|
958
|
-
},
|
|
959
|
-
response: {
|
|
960
|
-
headers: resHs,
|
|
961
|
-
body: text,
|
|
962
|
-
},
|
|
963
|
-
})
|
|
964
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!reqResInfo) {</span>
|
|
965
|
-
<span class="cstat-no" title="statement not covered" > return</span>
|
|
966
|
-
}
|
|
967
|
-
|
|
968
|
-
<span class="cstat-no" title="statement not covered" > console.log(</span>
|
|
969
|
-
'original',
|
|
970
|
-
NetworkRequest(
|
|
971
|
-
'fetch',
|
|
972
|
-
method,
|
|
973
|
-
String(reqResInfo.url),
|
|
974
|
-
stringify(reqResInfo.request),
|
|
975
|
-
stringify(reqResInfo.response),
|
|
976
|
-
r.status,
|
|
977
|
-
startTime + getTimeOrigin(),
|
|
978
|
-
duration,
|
|
979
|
-
),
|
|
980
|
-
)
|
|
981
|
-
<span class="cstat-no" title="statement not covered" > app.send(</span>
|
|
982
|
-
NetworkRequest(
|
|
983
|
-
'fetch',
|
|
984
|
-
method,
|
|
985
|
-
String(reqResInfo.url),
|
|
986
|
-
stringify(reqResInfo.request),
|
|
987
|
-
stringify(reqResInfo.response),
|
|
988
|
-
r.status,
|
|
989
|
-
startTime + getTimeOrigin(),
|
|
990
|
-
duration,
|
|
991
|
-
),
|
|
992
|
-
)
|
|
993
|
-
})
|
|
994
|
-
.catch(<span class="fstat-no" title="function not covered" >(e</span>) => <span class="cstat-no" title="statement not covered" >app.debug.error('Could not process Fetch response:', e))</span>
|
|
995
|
-
|
|
996
|
-
<span class="cstat-no" title="statement not covered" > return response</span>
|
|
997
|
-
})
|
|
998
|
-
}
|
|
999
|
-
<span class="cstat-no" title="statement not covered" > context.fetch = trackFetch</span>
|
|
1000
|
-
|
|
1001
|
-
/* ====== <> ====== */
|
|
1002
|
-
|
|
1003
|
-
/* ====== XHR ====== */
|
|
1004
|
-
const nativeOpen = <span class="cstat-no" title="statement not covered" >context.XMLHttpRequest.prototype.open</span>
|
|
1005
|
-
const nativeSetRequestHeader = <span class="cstat-no" title="statement not covered" >context.XMLHttpRequest.prototype.setRequestHeader</span>
|
|
1006
|
-
const nativeSend = <span class="cstat-no" title="statement not covered" >context.XMLHttpRequest.prototype.send</span>
|
|
1007
|
-
|
|
1008
|
-
function <span class="fstat-no" title="function not covered" >trackXMLHttpReqOpen(</span>this: XMLHttpRequest, initMethod: string, url: string | URL) {
|
|
1009
|
-
const xhr = <span class="cstat-no" title="statement not covered" >this</span>
|
|
1010
|
-
<span class="cstat-no" title="statement not covered" > setSessionTokenHeader(<span class="fstat-no" title="function not covered" >(n</span>ame, value) => <span class="cstat-no" title="statement not covered" >xhr.setRequestHeader(name, value))</span></span>
|
|
1011
|
-
|
|
1012
|
-
let startTime = <span class="cstat-no" title="statement not covered" >0</span>
|
|
1013
|
-
<span class="cstat-no" title="statement not covered" > xhr.addEventListener('loadstart', <span class="fstat-no" title="function not covered" >(e</span>) => {</span>
|
|
1014
|
-
<span class="cstat-no" title="statement not covered" > startTime = e.timeStamp</span>
|
|
1015
|
-
})
|
|
1016
|
-
<span class="cstat-no" title="statement not covered" > xhr.addEventListener(</span>
|
|
1017
|
-
'load',
|
|
1018
|
-
app.safe(<span class="fstat-no" title="function not covered" >(e</span>) => {
|
|
1019
|
-
const { headers: reqHs, body: reqBody } = <span class="cstat-no" title="statement not covered" >getXHRRequestDataObject(xhr)</span>
|
|
1020
|
-
const duration = <span class="cstat-no" title="statement not covered" >startTime > 0 ? e.timeStamp - startTime : 0</span>
|
|
1021
|
-
|
|
1022
|
-
const hString: string = <span class="cstat-no" title="statement not covered" >xhr.getAllResponseHeaders() || '' </span>// might be null (only if no response received though)
|
|
1023
|
-
const headersArr = <span class="cstat-no" title="statement not covered" >hString.trim().split(/[\r\n]+/)</span>
|
|
1024
|
-
const headerMap: Record<string, string> = <span class="cstat-no" title="statement not covered" >{}</span>
|
|
1025
|
-
<span class="cstat-no" title="statement not covered" > headersArr.forEach(<span class="fstat-no" title="function not covered" >function (l</span>ine) {</span>
|
|
1026
|
-
const parts = <span class="cstat-no" title="statement not covered" >line.split(': ')</span>
|
|
1027
|
-
const header = <span class="cstat-no" title="statement not covered" >parts.shift() as unknown as string</span>
|
|
1028
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!isHIgnored(header)) {</span>
|
|
1029
|
-
<span class="cstat-no" title="statement not covered" > headerMap[header] = parts.join(': ')</span>
|
|
1030
|
-
}
|
|
1031
|
-
})
|
|
1032
|
-
|
|
1033
|
-
const method = <span class="cstat-no" title="statement not covered" >strMethod(initMethod)</span>
|
|
1034
|
-
const reqResInfo = <span class="cstat-no" title="statement not covered" >sanitize({</span>
|
|
1035
|
-
url: String(url),
|
|
1036
|
-
method,
|
|
1037
|
-
status: xhr.status,
|
|
1038
|
-
request: {
|
|
1039
|
-
headers: reqHs,
|
|
1040
|
-
// @ts-ignore
|
|
1041
|
-
body: reqBody || null,
|
|
1042
|
-
},
|
|
1043
|
-
response: {
|
|
1044
|
-
headers: headerMap,
|
|
1045
|
-
body: xhr.response,
|
|
1046
|
-
},
|
|
1047
|
-
})
|
|
1048
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!reqResInfo) {</span>
|
|
1049
|
-
<span class="cstat-no" title="statement not covered" > return</span>
|
|
1050
|
-
}
|
|
1051
|
-
|
|
1052
|
-
<span class="cstat-no" title="statement not covered" > app.send(</span>
|
|
1053
|
-
NetworkRequest(
|
|
1054
|
-
'xhr',
|
|
1055
|
-
method,
|
|
1056
|
-
String(reqResInfo.url),
|
|
1057
|
-
stringify(reqResInfo.request),
|
|
1058
|
-
stringify(reqResInfo.response),
|
|
1059
|
-
xhr.status,
|
|
1060
|
-
startTime + getTimeOrigin(),
|
|
1061
|
-
duration,
|
|
1062
|
-
),
|
|
1063
|
-
)
|
|
1064
|
-
}),
|
|
1065
|
-
)
|
|
1066
|
-
|
|
1067
|
-
//TODO: handle error (though it has no Error API nor any useful information)
|
|
1068
|
-
//xhr.addEventListener('error', (e) => {})
|
|
1069
|
-
<span class="cstat-no" title="statement not covered" > return nativeOpen.apply(this, arguments)</span>
|
|
1070
|
-
}
|
|
1071
|
-
|
|
1072
|
-
function <span class="fstat-no" title="function not covered" >trackXHRSend(</span>
|
|
1073
|
-
this: XMLHttpRequest,
|
|
1074
|
-
body: Document | XMLHttpRequestBodyInit | null | undefined,
|
|
1075
|
-
) {
|
|
1076
|
-
const rdo = <span class="cstat-no" title="statement not covered" >getXHRRequestDataObject(this)</span>
|
|
1077
|
-
<span class="cstat-no" title="statement not covered" > rdo.body = body</span>
|
|
1078
|
-
// @ts-ignore ??? this -> XMLHttpRequest
|
|
1079
|
-
<span class="cstat-no" title="statement not covered" > return nativeSend.apply(this, arguments)</span>
|
|
1080
|
-
}
|
|
1081
|
-
|
|
1082
|
-
function <span class="fstat-no" title="function not covered" >trackSetReqHeader(</span>this: XMLHttpRequest, name: string, value: string) {
|
|
1083
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!isHIgnored(name)) {</span>
|
|
1084
|
-
const rdo = <span class="cstat-no" title="statement not covered" >getXHRRequestDataObject(this)</span>
|
|
1085
|
-
<span class="cstat-no" title="statement not covered" > rdo.headers[name] = value</span>
|
|
1086
|
-
}
|
|
1087
|
-
<span class="cstat-no" title="statement not covered" > return nativeSetRequestHeader.apply(this, arguments)</span>
|
|
1088
|
-
}
|
|
1089
|
-
|
|
1090
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!options.axiosInstances) {</span>
|
|
1091
|
-
<span class="cstat-no" title="statement not covered" > context.XMLHttpRequest.prototype.open = trackXMLHttpReqOpen</span>
|
|
1092
|
-
<span class="cstat-no" title="statement not covered" > context.XMLHttpRequest.prototype.send = trackXHRSend</span>
|
|
1093
|
-
<span class="cstat-no" title="statement not covered" > context.XMLHttpRequest.prototype.setRequestHeader = trackSetReqHeader</span>
|
|
1094
|
-
}
|
|
1095
|
-
|
|
1096
|
-
/* ====== <> ====== */
|
|
1097
|
-
}
|
|
1098
|
-
|
|
1099
|
-
<span class="cstat-no" title="statement not covered" > patchWindow(window)</span>
|
|
1100
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (options.axiosInstances) {</span>
|
|
1101
|
-
<span class="cstat-no" title="statement not covered" > options.axiosInstances.forEach(<span class="fstat-no" title="function not covered" >(a</span>xiosInstance) => {</span>
|
|
1102
|
-
<span class="cstat-no" title="statement not covered" > axiosSpy(app, axiosInstance, options, sanitize, stringify)</span>
|
|
1103
|
-
})
|
|
1104
|
-
}
|
|
1105
|
-
|
|
1106
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (options.captureInIframes) {</span>
|
|
1107
|
-
<span class="cstat-no" title="statement not covered" > app.observer.attachContextCallback(app.safe(patchWindow))</span>
|
|
1108
|
-
}
|
|
1109
|
-
}
|
|
1110
|
-
</pre></td></tr></table></pre>
|
|
1111
|
-
|
|
1112
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
1113
|
-
</div><!-- /wrapper -->
|
|
1114
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
1115
|
-
Code coverage generated by
|
|
1116
|
-
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1117
|
-
at 2023-06-28T10:44:28.733Z
|
|
1118
|
-
</div>
|
|
1119
|
-
<script src="../../prettify.js"></script>
|
|
1120
|
-
<script>
|
|
1121
|
-
window.onload = function () {
|
|
1122
|
-
prettyPrint();
|
|
1123
|
-
};
|
|
1124
|
-
</script>
|
|
1125
|
-
<script src="../../sorter.js"></script>
|
|
1126
|
-
<script src="../../block-navigation.js"></script>
|
|
1127
|
-
</body>
|
|
1128
|
-
</html>
|
|
1129
|
-
|