nock 8.0.0 → 8.2.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/.travis.yml +1 -0
- package/CHANGELOG.md +107 -114
- package/README.md +103 -42
- package/lib/common.js +15 -1
- package/lib/intercept.js +24 -11
- package/lib/interceptor.js +21 -22
- package/lib/match_body.js +1 -1
- package/lib/recorder.js +6 -3
- package/lib/request_overrider.js +3 -3
- package/lib/scope.js +30 -28
- package/package.json +10 -7
- package/tests/test_back.js +5 -2
- package/tests/test_body_match.js +40 -0
- package/tests/test_browserify.js +54 -52
- package/tests/test_intercept.js +195 -47
- package/tests/test_isomorphic_fetch.js +45 -45
- package/.npmignore +0 -2
- package/coverage/coverage.json +0 -1
- package/coverage/lcov-report/base.css +0 -212
- package/coverage/lcov-report/index.html +0 -106
- package/coverage/lcov-report/nock/index.html +0 -93
- package/coverage/lcov-report/nock/index.js.html +0 -98
- package/coverage/lcov-report/nock/lib/back.js.html +0 -1022
- package/coverage/lcov-report/nock/lib/common.js.html +0 -1070
- package/coverage/lcov-report/nock/lib/delayed_body.js.html +0 -305
- package/coverage/lcov-report/nock/lib/global_emitter.js.html +0 -71
- package/coverage/lcov-report/nock/lib/index.html +0 -223
- package/coverage/lcov-report/nock/lib/intercept.js.html +0 -1253
- package/coverage/lcov-report/nock/lib/interceptor.js.html +0 -1670
- package/coverage/lcov-report/nock/lib/match_body.js.html +0 -275
- package/coverage/lcov-report/nock/lib/mixin.js.html +0 -107
- package/coverage/lcov-report/nock/lib/recorder.js.html +0 -1323
- package/coverage/lcov-report/nock/lib/request_overrider.js.html +0 -1643
- package/coverage/lcov-report/nock/lib/scope.js.html +0 -1133
- package/coverage/lcov-report/nock/lib/socket.js.html +0 -272
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -1
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -158
- package/coverage/lcov.info +0 -2428
- package/tests/browserify-public/browserify-bundle.js +0 -34332
- package/tests/test.js +0 -32
|
@@ -1,1643 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<title>Code coverage report for nock/lib/request_overrider.js</title>
|
|
5
|
-
<meta charset="utf-8" />
|
|
6
|
-
<link rel="stylesheet" href="../../prettify.css" />
|
|
7
|
-
<link rel="stylesheet" href="../../base.css" />
|
|
8
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
9
|
-
<style type='text/css'>
|
|
10
|
-
.coverage-summary .sorter {
|
|
11
|
-
background-image: url(../../sort-arrow-sprite.png);
|
|
12
|
-
}
|
|
13
|
-
</style>
|
|
14
|
-
</head>
|
|
15
|
-
<body>
|
|
16
|
-
<div class='wrapper'>
|
|
17
|
-
<div class='pad1'>
|
|
18
|
-
<h1>
|
|
19
|
-
<a href="../../index.html">all files</a> / <a href="index.html">nock/lib/</a> request_overrider.js
|
|
20
|
-
</h1>
|
|
21
|
-
<div class='clearfix'>
|
|
22
|
-
<div class='fl pad1y space-right2'>
|
|
23
|
-
<span class="strong">93.85% </span>
|
|
24
|
-
<span class="quiet">Statements</span>
|
|
25
|
-
<span class='fraction'>244/260</span>
|
|
26
|
-
</div>
|
|
27
|
-
<div class='fl pad1y space-right2'>
|
|
28
|
-
<span class="strong">88.24% </span>
|
|
29
|
-
<span class="quiet">Branches</span>
|
|
30
|
-
<span class='fraction'>150/170</span>
|
|
31
|
-
</div>
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">93.33% </span>
|
|
34
|
-
<span class="quiet">Functions</span>
|
|
35
|
-
<span class='fraction'>28/30</span>
|
|
36
|
-
</div>
|
|
37
|
-
<div class='fl pad1y space-right2'>
|
|
38
|
-
<span class="strong">94.53% </span>
|
|
39
|
-
<span class="quiet">Lines</span>
|
|
40
|
-
<span class='fraction'>242/256</span>
|
|
41
|
-
</div>
|
|
42
|
-
</div>
|
|
43
|
-
</div>
|
|
44
|
-
<div class='status-line high'></div>
|
|
45
|
-
<pre><table class="coverage">
|
|
46
|
-
<tr><td class="line-count quiet">1
|
|
47
|
-
2
|
|
48
|
-
3
|
|
49
|
-
4
|
|
50
|
-
5
|
|
51
|
-
6
|
|
52
|
-
7
|
|
53
|
-
8
|
|
54
|
-
9
|
|
55
|
-
10
|
|
56
|
-
11
|
|
57
|
-
12
|
|
58
|
-
13
|
|
59
|
-
14
|
|
60
|
-
15
|
|
61
|
-
16
|
|
62
|
-
17
|
|
63
|
-
18
|
|
64
|
-
19
|
|
65
|
-
20
|
|
66
|
-
21
|
|
67
|
-
22
|
|
68
|
-
23
|
|
69
|
-
24
|
|
70
|
-
25
|
|
71
|
-
26
|
|
72
|
-
27
|
|
73
|
-
28
|
|
74
|
-
29
|
|
75
|
-
30
|
|
76
|
-
31
|
|
77
|
-
32
|
|
78
|
-
33
|
|
79
|
-
34
|
|
80
|
-
35
|
|
81
|
-
36
|
|
82
|
-
37
|
|
83
|
-
38
|
|
84
|
-
39
|
|
85
|
-
40
|
|
86
|
-
41
|
|
87
|
-
42
|
|
88
|
-
43
|
|
89
|
-
44
|
|
90
|
-
45
|
|
91
|
-
46
|
|
92
|
-
47
|
|
93
|
-
48
|
|
94
|
-
49
|
|
95
|
-
50
|
|
96
|
-
51
|
|
97
|
-
52
|
|
98
|
-
53
|
|
99
|
-
54
|
|
100
|
-
55
|
|
101
|
-
56
|
|
102
|
-
57
|
|
103
|
-
58
|
|
104
|
-
59
|
|
105
|
-
60
|
|
106
|
-
61
|
|
107
|
-
62
|
|
108
|
-
63
|
|
109
|
-
64
|
|
110
|
-
65
|
|
111
|
-
66
|
|
112
|
-
67
|
|
113
|
-
68
|
|
114
|
-
69
|
|
115
|
-
70
|
|
116
|
-
71
|
|
117
|
-
72
|
|
118
|
-
73
|
|
119
|
-
74
|
|
120
|
-
75
|
|
121
|
-
76
|
|
122
|
-
77
|
|
123
|
-
78
|
|
124
|
-
79
|
|
125
|
-
80
|
|
126
|
-
81
|
|
127
|
-
82
|
|
128
|
-
83
|
|
129
|
-
84
|
|
130
|
-
85
|
|
131
|
-
86
|
|
132
|
-
87
|
|
133
|
-
88
|
|
134
|
-
89
|
|
135
|
-
90
|
|
136
|
-
91
|
|
137
|
-
92
|
|
138
|
-
93
|
|
139
|
-
94
|
|
140
|
-
95
|
|
141
|
-
96
|
|
142
|
-
97
|
|
143
|
-
98
|
|
144
|
-
99
|
|
145
|
-
100
|
|
146
|
-
101
|
|
147
|
-
102
|
|
148
|
-
103
|
|
149
|
-
104
|
|
150
|
-
105
|
|
151
|
-
106
|
|
152
|
-
107
|
|
153
|
-
108
|
|
154
|
-
109
|
|
155
|
-
110
|
|
156
|
-
111
|
|
157
|
-
112
|
|
158
|
-
113
|
|
159
|
-
114
|
|
160
|
-
115
|
|
161
|
-
116
|
|
162
|
-
117
|
|
163
|
-
118
|
|
164
|
-
119
|
|
165
|
-
120
|
|
166
|
-
121
|
|
167
|
-
122
|
|
168
|
-
123
|
|
169
|
-
124
|
|
170
|
-
125
|
|
171
|
-
126
|
|
172
|
-
127
|
|
173
|
-
128
|
|
174
|
-
129
|
|
175
|
-
130
|
|
176
|
-
131
|
|
177
|
-
132
|
|
178
|
-
133
|
|
179
|
-
134
|
|
180
|
-
135
|
|
181
|
-
136
|
|
182
|
-
137
|
|
183
|
-
138
|
|
184
|
-
139
|
|
185
|
-
140
|
|
186
|
-
141
|
|
187
|
-
142
|
|
188
|
-
143
|
|
189
|
-
144
|
|
190
|
-
145
|
|
191
|
-
146
|
|
192
|
-
147
|
|
193
|
-
148
|
|
194
|
-
149
|
|
195
|
-
150
|
|
196
|
-
151
|
|
197
|
-
152
|
|
198
|
-
153
|
|
199
|
-
154
|
|
200
|
-
155
|
|
201
|
-
156
|
|
202
|
-
157
|
|
203
|
-
158
|
|
204
|
-
159
|
|
205
|
-
160
|
|
206
|
-
161
|
|
207
|
-
162
|
|
208
|
-
163
|
|
209
|
-
164
|
|
210
|
-
165
|
|
211
|
-
166
|
|
212
|
-
167
|
|
213
|
-
168
|
|
214
|
-
169
|
|
215
|
-
170
|
|
216
|
-
171
|
|
217
|
-
172
|
|
218
|
-
173
|
|
219
|
-
174
|
|
220
|
-
175
|
|
221
|
-
176
|
|
222
|
-
177
|
|
223
|
-
178
|
|
224
|
-
179
|
|
225
|
-
180
|
|
226
|
-
181
|
|
227
|
-
182
|
|
228
|
-
183
|
|
229
|
-
184
|
|
230
|
-
185
|
|
231
|
-
186
|
|
232
|
-
187
|
|
233
|
-
188
|
|
234
|
-
189
|
|
235
|
-
190
|
|
236
|
-
191
|
|
237
|
-
192
|
|
238
|
-
193
|
|
239
|
-
194
|
|
240
|
-
195
|
|
241
|
-
196
|
|
242
|
-
197
|
|
243
|
-
198
|
|
244
|
-
199
|
|
245
|
-
200
|
|
246
|
-
201
|
|
247
|
-
202
|
|
248
|
-
203
|
|
249
|
-
204
|
|
250
|
-
205
|
|
251
|
-
206
|
|
252
|
-
207
|
|
253
|
-
208
|
|
254
|
-
209
|
|
255
|
-
210
|
|
256
|
-
211
|
|
257
|
-
212
|
|
258
|
-
213
|
|
259
|
-
214
|
|
260
|
-
215
|
|
261
|
-
216
|
|
262
|
-
217
|
|
263
|
-
218
|
|
264
|
-
219
|
|
265
|
-
220
|
|
266
|
-
221
|
|
267
|
-
222
|
|
268
|
-
223
|
|
269
|
-
224
|
|
270
|
-
225
|
|
271
|
-
226
|
|
272
|
-
227
|
|
273
|
-
228
|
|
274
|
-
229
|
|
275
|
-
230
|
|
276
|
-
231
|
|
277
|
-
232
|
|
278
|
-
233
|
|
279
|
-
234
|
|
280
|
-
235
|
|
281
|
-
236
|
|
282
|
-
237
|
|
283
|
-
238
|
|
284
|
-
239
|
|
285
|
-
240
|
|
286
|
-
241
|
|
287
|
-
242
|
|
288
|
-
243
|
|
289
|
-
244
|
|
290
|
-
245
|
|
291
|
-
246
|
|
292
|
-
247
|
|
293
|
-
248
|
|
294
|
-
249
|
|
295
|
-
250
|
|
296
|
-
251
|
|
297
|
-
252
|
|
298
|
-
253
|
|
299
|
-
254
|
|
300
|
-
255
|
|
301
|
-
256
|
|
302
|
-
257
|
|
303
|
-
258
|
|
304
|
-
259
|
|
305
|
-
260
|
|
306
|
-
261
|
|
307
|
-
262
|
|
308
|
-
263
|
|
309
|
-
264
|
|
310
|
-
265
|
|
311
|
-
266
|
|
312
|
-
267
|
|
313
|
-
268
|
|
314
|
-
269
|
|
315
|
-
270
|
|
316
|
-
271
|
|
317
|
-
272
|
|
318
|
-
273
|
|
319
|
-
274
|
|
320
|
-
275
|
|
321
|
-
276
|
|
322
|
-
277
|
|
323
|
-
278
|
|
324
|
-
279
|
|
325
|
-
280
|
|
326
|
-
281
|
|
327
|
-
282
|
|
328
|
-
283
|
|
329
|
-
284
|
|
330
|
-
285
|
|
331
|
-
286
|
|
332
|
-
287
|
|
333
|
-
288
|
|
334
|
-
289
|
|
335
|
-
290
|
|
336
|
-
291
|
|
337
|
-
292
|
|
338
|
-
293
|
|
339
|
-
294
|
|
340
|
-
295
|
|
341
|
-
296
|
|
342
|
-
297
|
|
343
|
-
298
|
|
344
|
-
299
|
|
345
|
-
300
|
|
346
|
-
301
|
|
347
|
-
302
|
|
348
|
-
303
|
|
349
|
-
304
|
|
350
|
-
305
|
|
351
|
-
306
|
|
352
|
-
307
|
|
353
|
-
308
|
|
354
|
-
309
|
|
355
|
-
310
|
|
356
|
-
311
|
|
357
|
-
312
|
|
358
|
-
313
|
|
359
|
-
314
|
|
360
|
-
315
|
|
361
|
-
316
|
|
362
|
-
317
|
|
363
|
-
318
|
|
364
|
-
319
|
|
365
|
-
320
|
|
366
|
-
321
|
|
367
|
-
322
|
|
368
|
-
323
|
|
369
|
-
324
|
|
370
|
-
325
|
|
371
|
-
326
|
|
372
|
-
327
|
|
373
|
-
328
|
|
374
|
-
329
|
|
375
|
-
330
|
|
376
|
-
331
|
|
377
|
-
332
|
|
378
|
-
333
|
|
379
|
-
334
|
|
380
|
-
335
|
|
381
|
-
336
|
|
382
|
-
337
|
|
383
|
-
338
|
|
384
|
-
339
|
|
385
|
-
340
|
|
386
|
-
341
|
|
387
|
-
342
|
|
388
|
-
343
|
|
389
|
-
344
|
|
390
|
-
345
|
|
391
|
-
346
|
|
392
|
-
347
|
|
393
|
-
348
|
|
394
|
-
349
|
|
395
|
-
350
|
|
396
|
-
351
|
|
397
|
-
352
|
|
398
|
-
353
|
|
399
|
-
354
|
|
400
|
-
355
|
|
401
|
-
356
|
|
402
|
-
357
|
|
403
|
-
358
|
|
404
|
-
359
|
|
405
|
-
360
|
|
406
|
-
361
|
|
407
|
-
362
|
|
408
|
-
363
|
|
409
|
-
364
|
|
410
|
-
365
|
|
411
|
-
366
|
|
412
|
-
367
|
|
413
|
-
368
|
|
414
|
-
369
|
|
415
|
-
370
|
|
416
|
-
371
|
|
417
|
-
372
|
|
418
|
-
373
|
|
419
|
-
374
|
|
420
|
-
375
|
|
421
|
-
376
|
|
422
|
-
377
|
|
423
|
-
378
|
|
424
|
-
379
|
|
425
|
-
380
|
|
426
|
-
381
|
|
427
|
-
382
|
|
428
|
-
383
|
|
429
|
-
384
|
|
430
|
-
385
|
|
431
|
-
386
|
|
432
|
-
387
|
|
433
|
-
388
|
|
434
|
-
389
|
|
435
|
-
390
|
|
436
|
-
391
|
|
437
|
-
392
|
|
438
|
-
393
|
|
439
|
-
394
|
|
440
|
-
395
|
|
441
|
-
396
|
|
442
|
-
397
|
|
443
|
-
398
|
|
444
|
-
399
|
|
445
|
-
400
|
|
446
|
-
401
|
|
447
|
-
402
|
|
448
|
-
403
|
|
449
|
-
404
|
|
450
|
-
405
|
|
451
|
-
406
|
|
452
|
-
407
|
|
453
|
-
408
|
|
454
|
-
409
|
|
455
|
-
410
|
|
456
|
-
411
|
|
457
|
-
412
|
|
458
|
-
413
|
|
459
|
-
414
|
|
460
|
-
415
|
|
461
|
-
416
|
|
462
|
-
417
|
|
463
|
-
418
|
|
464
|
-
419
|
|
465
|
-
420
|
|
466
|
-
421
|
|
467
|
-
422
|
|
468
|
-
423
|
|
469
|
-
424
|
|
470
|
-
425
|
|
471
|
-
426
|
|
472
|
-
427
|
|
473
|
-
428
|
|
474
|
-
429
|
|
475
|
-
430
|
|
476
|
-
431
|
|
477
|
-
432
|
|
478
|
-
433
|
|
479
|
-
434
|
|
480
|
-
435
|
|
481
|
-
436
|
|
482
|
-
437
|
|
483
|
-
438
|
|
484
|
-
439
|
|
485
|
-
440
|
|
486
|
-
441
|
|
487
|
-
442
|
|
488
|
-
443
|
|
489
|
-
444
|
|
490
|
-
445
|
|
491
|
-
446
|
|
492
|
-
447
|
|
493
|
-
448
|
|
494
|
-
449
|
|
495
|
-
450
|
|
496
|
-
451
|
|
497
|
-
452
|
|
498
|
-
453
|
|
499
|
-
454
|
|
500
|
-
455
|
|
501
|
-
456
|
|
502
|
-
457
|
|
503
|
-
458
|
|
504
|
-
459
|
|
505
|
-
460
|
|
506
|
-
461
|
|
507
|
-
462
|
|
508
|
-
463
|
|
509
|
-
464
|
|
510
|
-
465
|
|
511
|
-
466
|
|
512
|
-
467
|
|
513
|
-
468
|
|
514
|
-
469
|
|
515
|
-
470
|
|
516
|
-
471
|
|
517
|
-
472
|
|
518
|
-
473
|
|
519
|
-
474
|
|
520
|
-
475
|
|
521
|
-
476
|
|
522
|
-
477
|
|
523
|
-
478
|
|
524
|
-
479
|
|
525
|
-
480
|
|
526
|
-
481
|
|
527
|
-
482
|
|
528
|
-
483
|
|
529
|
-
484
|
|
530
|
-
485
|
|
531
|
-
486
|
|
532
|
-
487
|
|
533
|
-
488
|
|
534
|
-
489
|
|
535
|
-
490
|
|
536
|
-
491
|
|
537
|
-
492
|
|
538
|
-
493
|
|
539
|
-
494
|
|
540
|
-
495
|
|
541
|
-
496
|
|
542
|
-
497
|
|
543
|
-
498
|
|
544
|
-
499
|
|
545
|
-
500
|
|
546
|
-
501
|
|
547
|
-
502
|
|
548
|
-
503
|
|
549
|
-
504
|
|
550
|
-
505
|
|
551
|
-
506
|
|
552
|
-
507
|
|
553
|
-
508
|
|
554
|
-
509
|
|
555
|
-
510
|
|
556
|
-
511
|
|
557
|
-
512
|
|
558
|
-
513
|
|
559
|
-
514
|
|
560
|
-
515
|
|
561
|
-
516
|
|
562
|
-
517
|
|
563
|
-
518
|
|
564
|
-
519
|
|
565
|
-
520
|
|
566
|
-
521
|
|
567
|
-
522
|
|
568
|
-
523
|
|
569
|
-
524
|
|
570
|
-
525
|
|
571
|
-
526
|
|
572
|
-
527</td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
573
|
-
<span class="cline-any cline-neutral"> </span>
|
|
574
|
-
<span class="cline-any cline-yes">1×</span>
|
|
575
|
-
<span class="cline-any cline-neutral"> </span>
|
|
576
|
-
<span class="cline-any cline-neutral"> </span>
|
|
577
|
-
<span class="cline-any cline-neutral"> </span>
|
|
578
|
-
<span class="cline-any cline-neutral"> </span>
|
|
579
|
-
<span class="cline-any cline-neutral"> </span>
|
|
580
|
-
<span class="cline-any cline-neutral"> </span>
|
|
581
|
-
<span class="cline-any cline-neutral"> </span>
|
|
582
|
-
<span class="cline-any cline-neutral"> </span>
|
|
583
|
-
<span class="cline-any cline-neutral"> </span>
|
|
584
|
-
<span class="cline-any cline-neutral"> </span>
|
|
585
|
-
<span class="cline-any cline-neutral"> </span>
|
|
586
|
-
<span class="cline-any cline-neutral"> </span>
|
|
587
|
-
<span class="cline-any cline-neutral"> </span>
|
|
588
|
-
<span class="cline-any cline-yes">1×</span>
|
|
589
|
-
<span class="cline-any cline-yes">550×</span>
|
|
590
|
-
<span class="cline-any cline-yes">144×</span>
|
|
591
|
-
<span class="cline-any cline-neutral"> </span>
|
|
592
|
-
<span class="cline-any cline-neutral"> </span>
|
|
593
|
-
<span class="cline-any cline-yes">406×</span>
|
|
594
|
-
<span class="cline-any cline-neutral"> </span>
|
|
595
|
-
<span class="cline-any cline-yes">406×</span>
|
|
596
|
-
<span class="cline-any cline-neutral"> </span>
|
|
597
|
-
<span class="cline-any cline-neutral"> </span>
|
|
598
|
-
<span class="cline-any cline-yes">1×</span>
|
|
599
|
-
<span class="cline-any cline-yes">658×</span>
|
|
600
|
-
<span class="cline-any cline-neutral"> </span>
|
|
601
|
-
<span class="cline-any cline-yes">658×</span>
|
|
602
|
-
<span class="cline-any cline-neutral"> </span>
|
|
603
|
-
<span class="cline-any cline-yes">658×</span>
|
|
604
|
-
<span class="cline-any cline-yes">658×</span>
|
|
605
|
-
<span class="cline-any cline-yes">658×</span>
|
|
606
|
-
<span class="cline-any cline-neutral"> </span>
|
|
607
|
-
<span class="cline-any cline-yes">658×</span>
|
|
608
|
-
<span class="cline-any cline-yes">658×</span>
|
|
609
|
-
<span class="cline-any cline-neutral"> </span>
|
|
610
|
-
<span class="cline-any cline-yes">658×</span>
|
|
611
|
-
<span class="cline-any cline-yes">4×</span>
|
|
612
|
-
<span class="cline-any cline-yes">4×</span>
|
|
613
|
-
<span class="cline-any cline-yes">4×</span>
|
|
614
|
-
<span class="cline-any cline-neutral"> </span>
|
|
615
|
-
<span class="cline-any cline-neutral"> </span>
|
|
616
|
-
<span class="cline-any cline-neutral"> </span>
|
|
617
|
-
<span class="cline-any cline-neutral"> </span>
|
|
618
|
-
<span class="cline-any cline-neutral"> </span>
|
|
619
|
-
<span class="cline-any cline-neutral"> </span>
|
|
620
|
-
<span class="cline-any cline-neutral"> </span>
|
|
621
|
-
<span class="cline-any cline-yes">1×</span>
|
|
622
|
-
<span class="cline-any cline-neutral"> </span>
|
|
623
|
-
<span class="cline-any cline-yes">540×</span>
|
|
624
|
-
<span class="cline-any cline-yes">540×</span>
|
|
625
|
-
<span class="cline-any cline-yes">49×</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-yes">540×</span>
|
|
633
|
-
<span class="cline-any cline-yes">540×</span>
|
|
634
|
-
<span class="cline-any cline-yes">4×</span>
|
|
635
|
-
<span class="cline-any cline-no"> </span>
|
|
636
|
-
<span class="cline-any cline-neutral"> </span>
|
|
637
|
-
<span class="cline-any cline-yes">4×</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-yes">536×</span>
|
|
642
|
-
<span class="cline-any cline-yes">173×</span>
|
|
643
|
-
<span class="cline-any cline-neutral"> </span>
|
|
644
|
-
<span class="cline-any cline-yes">173×</span>
|
|
645
|
-
<span class="cline-any cline-yes">166×</span>
|
|
646
|
-
<span class="cline-any cline-neutral"> </span>
|
|
647
|
-
<span class="cline-any cline-neutral"> </span>
|
|
648
|
-
<span class="cline-any cline-yes">173×</span>
|
|
649
|
-
<span class="cline-any cline-neutral"> </span>
|
|
650
|
-
<span class="cline-any cline-neutral"> </span>
|
|
651
|
-
<span class="cline-any cline-neutral"> </span>
|
|
652
|
-
<span class="cline-any cline-neutral"> </span>
|
|
653
|
-
<span class="cline-any cline-neutral"> </span>
|
|
654
|
-
<span class="cline-any cline-yes">1×</span>
|
|
655
|
-
<span class="cline-any cline-yes">512×</span>
|
|
656
|
-
<span class="cline-any cline-yes">512×</span>
|
|
657
|
-
<span class="cline-any cline-yes">512×</span>
|
|
658
|
-
<span class="cline-any cline-neutral"> </span>
|
|
659
|
-
<span class="cline-any cline-no"> </span>
|
|
660
|
-
<span class="cline-any cline-no"> </span>
|
|
661
|
-
<span class="cline-any cline-neutral"> </span>
|
|
662
|
-
<span class="cline-any cline-neutral"> </span>
|
|
663
|
-
<span class="cline-any cline-yes">512×</span>
|
|
664
|
-
<span class="cline-any cline-neutral"> </span>
|
|
665
|
-
<span class="cline-any cline-neutral"> </span>
|
|
666
|
-
<span class="cline-any cline-neutral"> </span>
|
|
667
|
-
<span class="cline-any cline-neutral"> </span>
|
|
668
|
-
<span class="cline-any cline-neutral"> </span>
|
|
669
|
-
<span class="cline-any cline-neutral"> </span>
|
|
670
|
-
<span class="cline-any cline-neutral"> </span>
|
|
671
|
-
<span class="cline-any cline-neutral"> </span>
|
|
672
|
-
<span class="cline-any cline-neutral"> </span>
|
|
673
|
-
<span class="cline-any cline-neutral"> </span>
|
|
674
|
-
<span class="cline-any cline-neutral"> </span>
|
|
675
|
-
<span class="cline-any cline-neutral"> </span>
|
|
676
|
-
<span class="cline-any cline-yes">512×</span>
|
|
677
|
-
<span class="cline-any cline-neutral"> </span>
|
|
678
|
-
<span class="cline-any cline-yes">512×</span>
|
|
679
|
-
<span class="cline-any cline-neutral"> </span>
|
|
680
|
-
<span class="cline-any cline-yes">512×</span>
|
|
681
|
-
<span class="cline-any cline-neutral"> </span>
|
|
682
|
-
<span class="cline-any cline-yes">200×</span>
|
|
683
|
-
<span class="cline-any cline-neutral"> </span>
|
|
684
|
-
<span class="cline-any cline-yes">200×</span>
|
|
685
|
-
<span class="cline-any cline-yes">200×</span>
|
|
686
|
-
<span class="cline-any cline-yes">424×</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-yes">512×</span>
|
|
692
|
-
<span class="cline-any cline-yes">8×</span>
|
|
693
|
-
<span class="cline-any cline-neutral"> </span>
|
|
694
|
-
<span class="cline-any cline-neutral"> </span>
|
|
695
|
-
<span class="cline-any cline-yes">512×</span>
|
|
696
|
-
<span class="cline-any cline-yes">257×</span>
|
|
697
|
-
<span class="cline-any cline-neutral"> </span>
|
|
698
|
-
<span class="cline-any cline-neutral"> </span>
|
|
699
|
-
<span class="cline-any cline-yes">512×</span>
|
|
700
|
-
<span class="cline-any cline-neutral"> </span>
|
|
701
|
-
<span class="cline-any cline-yes">512×</span>
|
|
702
|
-
<span class="cline-any cline-yes">14×</span>
|
|
703
|
-
<span class="cline-any cline-neutral"> </span>
|
|
704
|
-
<span class="cline-any cline-neutral"> </span>
|
|
705
|
-
<span class="cline-any cline-yes">512×</span>
|
|
706
|
-
<span class="cline-any cline-neutral"> </span>
|
|
707
|
-
<span class="cline-any cline-yes">512×</span>
|
|
708
|
-
<span class="cline-any cline-yes">3666×</span>
|
|
709
|
-
<span class="cline-any cline-yes">3666×</span>
|
|
710
|
-
<span class="cline-any cline-yes">3427×</span>
|
|
711
|
-
<span class="cline-any cline-yes">32×</span>
|
|
712
|
-
<span class="cline-any cline-neutral"> </span>
|
|
713
|
-
<span class="cline-any cline-yes">3427×</span>
|
|
714
|
-
<span class="cline-any cline-neutral"> </span>
|
|
715
|
-
<span class="cline-any cline-yes">3666×</span>
|
|
716
|
-
<span class="cline-any cline-no"> </span>
|
|
717
|
-
<span class="cline-any cline-neutral"> </span>
|
|
718
|
-
<span class="cline-any cline-neutral"> </span>
|
|
719
|
-
<span class="cline-any cline-yes">3666×</span>
|
|
720
|
-
<span class="cline-any cline-yes">3666×</span>
|
|
721
|
-
<span class="cline-any cline-neutral"> </span>
|
|
722
|
-
<span class="cline-any cline-neutral"> </span>
|
|
723
|
-
<span class="cline-any cline-yes">3666×</span>
|
|
724
|
-
<span class="cline-any cline-neutral"> </span>
|
|
725
|
-
<span class="cline-any cline-neutral"> </span>
|
|
726
|
-
<span class="cline-any cline-yes">512×</span>
|
|
727
|
-
<span class="cline-any cline-yes">266×</span>
|
|
728
|
-
<span class="cline-any cline-yes">266×</span>
|
|
729
|
-
<span class="cline-any cline-yes">257×</span>
|
|
730
|
-
<span class="cline-any cline-yes">257×</span>
|
|
731
|
-
<span class="cline-any cline-yes">257×</span>
|
|
732
|
-
<span class="cline-any cline-yes">257×</span>
|
|
733
|
-
<span class="cline-any cline-neutral"> </span>
|
|
734
|
-
<span class="cline-any cline-yes">266×</span>
|
|
735
|
-
<span class="cline-any cline-no"> </span>
|
|
736
|
-
<span class="cline-any cline-neutral"> </span>
|
|
737
|
-
<span class="cline-any cline-neutral"> </span>
|
|
738
|
-
<span class="cline-any cline-neutral"> </span>
|
|
739
|
-
<span class="cline-any cline-yes">512×</span>
|
|
740
|
-
<span class="cline-any cline-yes">6×</span>
|
|
741
|
-
<span class="cline-any cline-yes">6×</span>
|
|
742
|
-
<span class="cline-any cline-yes">6×</span>
|
|
743
|
-
<span class="cline-any cline-no"> </span>
|
|
744
|
-
<span class="cline-any cline-neutral"> </span>
|
|
745
|
-
<span class="cline-any cline-yes">6×</span>
|
|
746
|
-
<span class="cline-any cline-yes">6×</span>
|
|
747
|
-
<span class="cline-any cline-yes">6×</span>
|
|
748
|
-
<span class="cline-any cline-neutral"> </span>
|
|
749
|
-
<span class="cline-any cline-yes">6×</span>
|
|
750
|
-
<span class="cline-any cline-neutral"> </span>
|
|
751
|
-
<span class="cline-any cline-yes">6×</span>
|
|
752
|
-
<span class="cline-any cline-neutral"> </span>
|
|
753
|
-
<span class="cline-any cline-yes">6×</span>
|
|
754
|
-
<span class="cline-any cline-yes">6×</span>
|
|
755
|
-
<span class="cline-any cline-yes">6×</span>
|
|
756
|
-
<span class="cline-any cline-neutral"> </span>
|
|
757
|
-
<span class="cline-any cline-neutral"> </span>
|
|
758
|
-
<span class="cline-any cline-neutral"> </span>
|
|
759
|
-
<span class="cline-any cline-neutral"> </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>
|
|
763
|
-
<span class="cline-any cline-yes">512×</span>
|
|
764
|
-
<span class="cline-any cline-neutral"> </span>
|
|
765
|
-
<span class="cline-any cline-yes">585×</span>
|
|
766
|
-
<span class="cline-any cline-yes">85×</span>
|
|
767
|
-
<span class="cline-any cline-yes">85×</span>
|
|
768
|
-
<span class="cline-any cline-yes">85×</span>
|
|
769
|
-
<span class="cline-any cline-neutral"> </span>
|
|
770
|
-
<span class="cline-any cline-neutral"> </span>
|
|
771
|
-
<span class="cline-any cline-yes">585×</span>
|
|
772
|
-
<span class="cline-any cline-yes">585×</span>
|
|
773
|
-
<span class="cline-any cline-neutral"> </span>
|
|
774
|
-
<span class="cline-any cline-neutral"> </span>
|
|
775
|
-
<span class="cline-any cline-yes">512×</span>
|
|
776
|
-
<span class="cline-any cline-yes">25×</span>
|
|
777
|
-
<span class="cline-any cline-yes">25×</span>
|
|
778
|
-
<span class="cline-any cline-neutral"> </span>
|
|
779
|
-
<span class="cline-any cline-neutral"> </span>
|
|
780
|
-
<span class="cline-any cline-neutral"> </span>
|
|
781
|
-
<span class="cline-any cline-yes">512×</span>
|
|
782
|
-
<span class="cline-any cline-yes">257×</span>
|
|
783
|
-
<span class="cline-any cline-yes">257×</span>
|
|
784
|
-
<span class="cline-any cline-yes">257×</span>
|
|
785
|
-
<span class="cline-any cline-neutral"> </span>
|
|
786
|
-
<span class="cline-any cline-neutral"> </span>
|
|
787
|
-
<span class="cline-any cline-neutral"> </span>
|
|
788
|
-
<span class="cline-any cline-neutral"> </span>
|
|
789
|
-
<span class="cline-any cline-yes">257×</span>
|
|
790
|
-
<span class="cline-any cline-neutral"> </span>
|
|
791
|
-
<span class="cline-any cline-neutral"> </span>
|
|
792
|
-
<span class="cline-any cline-yes">257×</span>
|
|
793
|
-
<span class="cline-any cline-yes">257×</span>
|
|
794
|
-
<span class="cline-any cline-yes">257×</span>
|
|
795
|
-
<span class="cline-any cline-yes">3×</span>
|
|
796
|
-
<span class="cline-any cline-neutral"> </span>
|
|
797
|
-
<span class="cline-any cline-yes">254×</span>
|
|
798
|
-
<span class="cline-any cline-neutral"> </span>
|
|
799
|
-
<span class="cline-any cline-neutral"> </span>
|
|
800
|
-
<span class="cline-any cline-neutral"> </span>
|
|
801
|
-
<span class="cline-any cline-neutral"> </span>
|
|
802
|
-
<span class="cline-any cline-neutral"> </span>
|
|
803
|
-
<span class="cline-any cline-yes">257×</span>
|
|
804
|
-
<span class="cline-any cline-neutral"> </span>
|
|
805
|
-
<span class="cline-any cline-yes">257×</span>
|
|
806
|
-
<span class="cline-any cline-neutral"> </span>
|
|
807
|
-
<span class="cline-any cline-yes">300×</span>
|
|
808
|
-
<span class="cline-any cline-neutral"> </span>
|
|
809
|
-
<span class="cline-any cline-neutral"> </span>
|
|
810
|
-
<span class="cline-any cline-yes">257×</span>
|
|
811
|
-
<span class="cline-any cline-yes">275×</span>
|
|
812
|
-
<span class="cline-any cline-neutral"> </span>
|
|
813
|
-
<span class="cline-any cline-neutral"> </span>
|
|
814
|
-
<span class="cline-any cline-yes">257×</span>
|
|
815
|
-
<span class="cline-any cline-yes">17×</span>
|
|
816
|
-
<span class="cline-any cline-neutral"> </span>
|
|
817
|
-
<span class="cline-any cline-yes">17×</span>
|
|
818
|
-
<span class="cline-any cline-yes">14×</span>
|
|
819
|
-
<span class="cline-any cline-neutral"> </span>
|
|
820
|
-
<span class="cline-any cline-yes">17×</span>
|
|
821
|
-
<span class="cline-any cline-yes">14×</span>
|
|
822
|
-
<span class="cline-any cline-yes">1×</span>
|
|
823
|
-
<span class="cline-any cline-yes">1×</span>
|
|
824
|
-
<span class="cline-any cline-neutral"> </span>
|
|
825
|
-
<span class="cline-any cline-yes">1×</span>
|
|
826
|
-
<span class="cline-any cline-yes">1×</span>
|
|
827
|
-
<span class="cline-any cline-neutral"> </span>
|
|
828
|
-
<span class="cline-any cline-neutral"> </span>
|
|
829
|
-
<span class="cline-any cline-neutral"> </span>
|
|
830
|
-
<span class="cline-any cline-yes">16×</span>
|
|
831
|
-
<span class="cline-any cline-yes">16×</span>
|
|
832
|
-
<span class="cline-any cline-yes">16×</span>
|
|
833
|
-
<span class="cline-any cline-yes">16×</span>
|
|
834
|
-
<span class="cline-any cline-neutral"> </span>
|
|
835
|
-
<span class="cline-any cline-neutral"> </span>
|
|
836
|
-
<span class="cline-any cline-yes">240×</span>
|
|
837
|
-
<span class="cline-any cline-neutral"> </span>
|
|
838
|
-
<span class="cline-any cline-neutral"> </span>
|
|
839
|
-
<span class="cline-any cline-yes">240×</span>
|
|
840
|
-
<span class="cline-any cline-yes">240×</span>
|
|
841
|
-
<span class="cline-any cline-yes">240×</span>
|
|
842
|
-
<span class="cline-any cline-neutral"> </span>
|
|
843
|
-
<span class="cline-any cline-yes">240×</span>
|
|
844
|
-
<span class="cline-any cline-neutral"> </span>
|
|
845
|
-
<span class="cline-any cline-yes">240×</span>
|
|
846
|
-
<span class="cline-any cline-yes">3×</span>
|
|
847
|
-
<span class="cline-any cline-yes">3×</span>
|
|
848
|
-
<span class="cline-any cline-yes">3×</span>
|
|
849
|
-
<span class="cline-any cline-neutral"> </span>
|
|
850
|
-
<span class="cline-any cline-yes">3×</span>
|
|
851
|
-
<span class="cline-any cline-yes">3×</span>
|
|
852
|
-
<span class="cline-any cline-yes">1×</span>
|
|
853
|
-
<span class="cline-any cline-neutral"> </span>
|
|
854
|
-
<span class="cline-any cline-yes">2×</span>
|
|
855
|
-
<span class="cline-any cline-neutral"> </span>
|
|
856
|
-
<span class="cline-any cline-yes">3×</span>
|
|
857
|
-
<span class="cline-any cline-yes">3×</span>
|
|
858
|
-
<span class="cline-any cline-neutral"> </span>
|
|
859
|
-
<span class="cline-any cline-yes">237×</span>
|
|
860
|
-
<span class="cline-any cline-neutral"> </span>
|
|
861
|
-
<span class="cline-any cline-neutral"> </span>
|
|
862
|
-
<span class="cline-any cline-yes">237×</span>
|
|
863
|
-
<span class="cline-any cline-yes">237×</span>
|
|
864
|
-
<span class="cline-any cline-yes">237×</span>
|
|
865
|
-
<span class="cline-any cline-neutral"> </span>
|
|
866
|
-
<span class="cline-any cline-neutral"> </span>
|
|
867
|
-
<span class="cline-any cline-yes">237×</span>
|
|
868
|
-
<span class="cline-any cline-yes">24×</span>
|
|
869
|
-
<span class="cline-any cline-yes">1×</span>
|
|
870
|
-
<span class="cline-any cline-neutral"> </span>
|
|
871
|
-
<span class="cline-any cline-neutral"> </span>
|
|
872
|
-
<span class="cline-any cline-neutral"> </span>
|
|
873
|
-
<span class="cline-any cline-yes">24×</span>
|
|
874
|
-
<span class="cline-any cline-yes">5×</span>
|
|
875
|
-
<span class="cline-any cline-neutral"> </span>
|
|
876
|
-
<span class="cline-any cline-neutral"> </span>
|
|
877
|
-
<span class="cline-any cline-yes">19×</span>
|
|
878
|
-
<span class="cline-any cline-neutral"> </span>
|
|
879
|
-
<span class="cline-any cline-neutral"> </span>
|
|
880
|
-
<span class="cline-any cline-neutral"> </span>
|
|
881
|
-
<span class="cline-any cline-neutral"> </span>
|
|
882
|
-
<span class="cline-any cline-neutral"> </span>
|
|
883
|
-
<span class="cline-any cline-neutral"> </span>
|
|
884
|
-
<span class="cline-any cline-neutral"> </span>
|
|
885
|
-
<span class="cline-any cline-yes">213×</span>
|
|
886
|
-
<span class="cline-any cline-neutral"> </span>
|
|
887
|
-
<span class="cline-any cline-yes">5×</span>
|
|
888
|
-
<span class="cline-any cline-no"> </span>
|
|
889
|
-
<span class="cline-any cline-no"> </span>
|
|
890
|
-
<span class="cline-any cline-neutral"> </span>
|
|
891
|
-
<span class="cline-any cline-neutral"> </span>
|
|
892
|
-
<span class="cline-any cline-yes">5×</span>
|
|
893
|
-
<span class="cline-any cline-yes">5×</span>
|
|
894
|
-
<span class="cline-any cline-yes">1×</span>
|
|
895
|
-
<span class="cline-any cline-neutral"> </span>
|
|
896
|
-
<span class="cline-any cline-neutral"> </span>
|
|
897
|
-
<span class="cline-any cline-yes">5×</span>
|
|
898
|
-
<span class="cline-any cline-yes">16×</span>
|
|
899
|
-
<span class="cline-any cline-neutral"> </span>
|
|
900
|
-
<span class="cline-any cline-neutral"> </span>
|
|
901
|
-
<span class="cline-any cline-neutral"> </span>
|
|
902
|
-
<span class="cline-any cline-neutral"> </span>
|
|
903
|
-
<span class="cline-any cline-yes">208×</span>
|
|
904
|
-
<span class="cline-any cline-neutral"> </span>
|
|
905
|
-
<span class="cline-any cline-neutral"> </span>
|
|
906
|
-
<span class="cline-any cline-neutral"> </span>
|
|
907
|
-
<span class="cline-any cline-yes">208×</span>
|
|
908
|
-
<span class="cline-any cline-neutral"> </span>
|
|
909
|
-
<span class="cline-any cline-yes">2×</span>
|
|
910
|
-
<span class="cline-any cline-yes">2×</span>
|
|
911
|
-
<span class="cline-any cline-neutral"> </span>
|
|
912
|
-
<span class="cline-any cline-no"> </span>
|
|
913
|
-
<span class="cline-any cline-neutral"> </span>
|
|
914
|
-
<span class="cline-any cline-neutral"> </span>
|
|
915
|
-
<span class="cline-any cline-neutral"> </span>
|
|
916
|
-
<span class="cline-any cline-yes">2×</span>
|
|
917
|
-
<span class="cline-any cline-neutral"> </span>
|
|
918
|
-
<span class="cline-any cline-yes">1×</span>
|
|
919
|
-
<span class="cline-any cline-neutral"> </span>
|
|
920
|
-
<span class="cline-any cline-neutral"> </span>
|
|
921
|
-
<span class="cline-any cline-neutral"> </span>
|
|
922
|
-
<span class="cline-any cline-neutral"> </span>
|
|
923
|
-
<span class="cline-any cline-neutral"> </span>
|
|
924
|
-
<span class="cline-any cline-yes">232×</span>
|
|
925
|
-
<span class="cline-any cline-neutral"> </span>
|
|
926
|
-
<span class="cline-any cline-yes">1×</span>
|
|
927
|
-
<span class="cline-any cline-neutral"> </span>
|
|
928
|
-
<span class="cline-any cline-yes">237×</span>
|
|
929
|
-
<span class="cline-any cline-no"> </span>
|
|
930
|
-
<span class="cline-any cline-neutral"> </span>
|
|
931
|
-
<span class="cline-any cline-yes">237×</span>
|
|
932
|
-
<span class="cline-any cline-neutral"> </span>
|
|
933
|
-
<span class="cline-any cline-yes">237×</span>
|
|
934
|
-
<span class="cline-any cline-yes">1×</span>
|
|
935
|
-
<span class="cline-any cline-yes">1×</span>
|
|
936
|
-
<span class="cline-any cline-neutral"> </span>
|
|
937
|
-
<span class="cline-any cline-neutral"> </span>
|
|
938
|
-
<span class="cline-any cline-neutral"> </span>
|
|
939
|
-
<span class="cline-any cline-neutral"> </span>
|
|
940
|
-
<span class="cline-any cline-neutral"> </span>
|
|
941
|
-
<span class="cline-any cline-yes">237×</span>
|
|
942
|
-
<span class="cline-any cline-yes">190×</span>
|
|
943
|
-
<span class="cline-any cline-neutral"> </span>
|
|
944
|
-
<span class="cline-any cline-yes">190×</span>
|
|
945
|
-
<span class="cline-any cline-neutral"> </span>
|
|
946
|
-
<span class="cline-any cline-neutral"> </span>
|
|
947
|
-
<span class="cline-any cline-neutral"> </span>
|
|
948
|
-
<span class="cline-any cline-neutral"> </span>
|
|
949
|
-
<span class="cline-any cline-yes">5×</span>
|
|
950
|
-
<span class="cline-any cline-yes">5×</span>
|
|
951
|
-
<span class="cline-any cline-yes">5×</span>
|
|
952
|
-
<span class="cline-any cline-yes">5×</span>
|
|
953
|
-
<span class="cline-any cline-yes">5×</span>
|
|
954
|
-
<span class="cline-any cline-yes">5×</span>
|
|
955
|
-
<span class="cline-any cline-yes">5×</span>
|
|
956
|
-
<span class="cline-any cline-neutral"> </span>
|
|
957
|
-
<span class="cline-any cline-yes">5×</span>
|
|
958
|
-
<span class="cline-any cline-yes">5×</span>
|
|
959
|
-
<span class="cline-any cline-yes">3×</span>
|
|
960
|
-
<span class="cline-any cline-neutral"> </span>
|
|
961
|
-
<span class="cline-any cline-neutral"> </span>
|
|
962
|
-
<span class="cline-any cline-neutral"> </span>
|
|
963
|
-
<span class="cline-any cline-yes">190×</span>
|
|
964
|
-
<span class="cline-any cline-yes">4×</span>
|
|
965
|
-
<span class="cline-any cline-neutral"> </span>
|
|
966
|
-
<span class="cline-any cline-neutral"> </span>
|
|
967
|
-
<span class="cline-any cline-yes">4×</span>
|
|
968
|
-
<span class="cline-any cline-neutral"> </span>
|
|
969
|
-
<span class="cline-any cline-neutral"> </span>
|
|
970
|
-
<span class="cline-any cline-yes">190×</span>
|
|
971
|
-
<span class="cline-any cline-yes">16×</span>
|
|
972
|
-
<span class="cline-any cline-yes">16×</span>
|
|
973
|
-
<span class="cline-any cline-yes">16×</span>
|
|
974
|
-
<span class="cline-any cline-yes">17×</span>
|
|
975
|
-
<span class="cline-any cline-neutral"> </span>
|
|
976
|
-
<span class="cline-any cline-yes">16×</span>
|
|
977
|
-
<span class="cline-any cline-yes">16×</span>
|
|
978
|
-
<span class="cline-any cline-neutral"> </span>
|
|
979
|
-
<span class="cline-any cline-yes">16×</span>
|
|
980
|
-
<span class="cline-any cline-no"> </span>
|
|
981
|
-
<span class="cline-any cline-neutral"> </span>
|
|
982
|
-
<span class="cline-any cline-yes">174×</span>
|
|
983
|
-
<span class="cline-any cline-yes">171×</span>
|
|
984
|
-
<span class="cline-any cline-yes">168×</span>
|
|
985
|
-
<span class="cline-any cline-neutral"> </span>
|
|
986
|
-
<span class="cline-any cline-yes">3×</span>
|
|
987
|
-
<span class="cline-any cline-yes">3×</span>
|
|
988
|
-
<span class="cline-any cline-neutral"> </span>
|
|
989
|
-
<span class="cline-any cline-neutral"> </span>
|
|
990
|
-
<span class="cline-any cline-neutral"> </span>
|
|
991
|
-
<span class="cline-any cline-neutral"> </span>
|
|
992
|
-
<span class="cline-any cline-yes">237×</span>
|
|
993
|
-
<span class="cline-any cline-yes">237×</span>
|
|
994
|
-
<span class="cline-any cline-yes">237×</span>
|
|
995
|
-
<span class="cline-any cline-neutral"> </span>
|
|
996
|
-
<span class="cline-any cline-yes">237×</span>
|
|
997
|
-
<span class="cline-any cline-neutral"> </span>
|
|
998
|
-
<span class="cline-any cline-neutral"> </span>
|
|
999
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1000
|
-
<span class="cline-any cline-yes">237×</span>
|
|
1001
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1002
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1003
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1004
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1005
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1006
|
-
<span class="cline-any cline-yes">237×</span>
|
|
1007
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1008
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1009
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1010
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1011
|
-
<span class="cline-any cline-yes">237×</span>
|
|
1012
|
-
<span class="cline-any cline-yes">237×</span>
|
|
1013
|
-
<span class="cline-any cline-yes">169×</span>
|
|
1014
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1015
|
-
<span class="cline-any cline-yes">169×</span>
|
|
1016
|
-
<span class="cline-any cline-yes">6×</span>
|
|
1017
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1018
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1019
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1020
|
-
<span class="cline-any cline-yes">237×</span>
|
|
1021
|
-
<span class="cline-any cline-yes">146×</span>
|
|
1022
|
-
<span class="cline-any cline-yes">146×</span>
|
|
1023
|
-
<span class="cline-any cline-yes">146×</span>
|
|
1024
|
-
<span class="cline-any cline-yes">6×</span>
|
|
1025
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1026
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1027
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1028
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1029
|
-
<span class="cline-any cline-yes">237×</span>
|
|
1030
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1031
|
-
<span class="cline-any cline-yes">1×</span>
|
|
1032
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1033
|
-
<span class="cline-any cline-yes">237×</span>
|
|
1034
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1035
|
-
<span class="cline-any cline-yes">236×</span>
|
|
1036
|
-
<span class="cline-any cline-yes">2×</span>
|
|
1037
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1038
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1039
|
-
<span class="cline-any cline-yes">236×</span>
|
|
1040
|
-
<span class="cline-any cline-yes">15×</span>
|
|
1041
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1042
|
-
<span class="cline-any cline-yes">221×</span>
|
|
1043
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1044
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1045
|
-
<span class="cline-any cline-yes">1×</span>
|
|
1046
|
-
<span class="cline-any cline-yes">236×</span>
|
|
1047
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1048
|
-
<span class="cline-any cline-yes">232×</span>
|
|
1049
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1050
|
-
<span class="cline-any cline-yes">232×</span>
|
|
1051
|
-
<span class="cline-any cline-no"> </span>
|
|
1052
|
-
<span class="cline-any cline-no"> </span>
|
|
1053
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1054
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1055
|
-
<span class="cline-any cline-yes">232×</span>
|
|
1056
|
-
<span class="cline-any cline-no"> </span>
|
|
1057
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1058
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1059
|
-
<span class="cline-any cline-yes">232×</span>
|
|
1060
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1061
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1062
|
-
<span class="cline-any cline-yes">232×</span>
|
|
1063
|
-
<span class="cline-any cline-yes">16×</span>
|
|
1064
|
-
<span class="cline-any cline-yes">16×</span>
|
|
1065
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1066
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1067
|
-
<span class="cline-any cline-yes">216×</span>
|
|
1068
|
-
<span class="cline-any cline-yes">216×</span>
|
|
1069
|
-
<span class="cline-any cline-yes">178×</span>
|
|
1070
|
-
<span class="cline-any cline-yes">178×</span>
|
|
1071
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1072
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1073
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1074
|
-
<span class="cline-any cline-yes">216×</span>
|
|
1075
|
-
<span class="cline-any cline-yes">403×</span>
|
|
1076
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1077
|
-
<span class="cline-any cline-yes">403×</span>
|
|
1078
|
-
<span class="cline-any cline-yes">187×</span>
|
|
1079
|
-
<span class="cline-any cline-yes">187×</span>
|
|
1080
|
-
<span class="cline-any cline-yes">187×</span>
|
|
1081
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1082
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1083
|
-
<span class="cline-any cline-yes">216×</span>
|
|
1084
|
-
<span class="cline-any cline-yes">216×</span>
|
|
1085
|
-
<span class="cline-any cline-yes">216×</span>
|
|
1086
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1087
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1088
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1089
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1090
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1091
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1092
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1093
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1094
|
-
<span class="cline-any cline-yes">512×</span>
|
|
1095
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1096
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1097
|
-
<span class="cline-any cline-yes">1×</span>
|
|
1098
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
|
|
1099
|
-
|
|
1100
|
-
var EventEmitter = require('events').EventEmitter,
|
|
1101
|
-
http = require('http'),
|
|
1102
|
-
propagate = require('propagate'),
|
|
1103
|
-
DelayedBody = require('./delayed_body'),
|
|
1104
|
-
IncomingMessage = http.IncomingMessage,
|
|
1105
|
-
ClientRequest = http.ClientRequest,
|
|
1106
|
-
common = require('./common'),
|
|
1107
|
-
Socket = require('./socket'),
|
|
1108
|
-
_ = require('lodash'),
|
|
1109
|
-
debug = require('debug')('nock.request_overrider'),
|
|
1110
|
-
timers = require('timers'),
|
|
1111
|
-
ReadableStream = require('stream').Readable,
|
|
1112
|
-
globalEmitter = require('./global_emitter');
|
|
1113
|
-
|
|
1114
|
-
function getHeader(request, name) {
|
|
1115
|
-
if (!request._headers) {
|
|
1116
|
-
return;
|
|
1117
|
-
}
|
|
1118
|
-
|
|
1119
|
-
var key = name.toLowerCase();
|
|
1120
|
-
|
|
1121
|
-
return request._headers[key];
|
|
1122
|
-
}
|
|
1123
|
-
|
|
1124
|
-
function setHeader(request, name, value) {
|
|
1125
|
-
debug('setHeader', name, value);
|
|
1126
|
-
|
|
1127
|
-
var key = name.toLowerCase();
|
|
1128
|
-
|
|
1129
|
-
request._headers = request._headers || {};
|
|
1130
|
-
request._headerNames = request._headerNames || <span class="branch-1 cbranch-no" title="branch not covered" >{};</span>
|
|
1131
|
-
request._removedHeader = request._removedHeader || <span class="branch-1 cbranch-no" title="branch not covered" >{};</span>
|
|
1132
|
-
|
|
1133
|
-
request._headers[key] = value;
|
|
1134
|
-
request._headerNames[key] = name;
|
|
1135
|
-
|
|
1136
|
-
if (name == 'expect' && value == '100-continue') {
|
|
1137
|
-
timers.setImmediate(function() {
|
|
1138
|
-
debug('continue');
|
|
1139
|
-
request.emit('continue');
|
|
1140
|
-
});
|
|
1141
|
-
}
|
|
1142
|
-
}
|
|
1143
|
-
|
|
1144
|
-
// Sets request headers of the given request. This is needed during both matching phase
|
|
1145
|
-
// (in case header filters were specified) and mocking phase (to correctly pass mocked
|
|
1146
|
-
// request headers).
|
|
1147
|
-
function setRequestHeaders(req, options, interceptor) {
|
|
1148
|
-
// We mock request headers if these were specified.
|
|
1149
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (interceptor.reqheaders) {
|
|
1150
|
-
_.forOwn(interceptor.reqheaders, function(val, key) {
|
|
1151
|
-
setHeader(req, key, val);
|
|
1152
|
-
});
|
|
1153
|
-
}
|
|
1154
|
-
|
|
1155
|
-
// If a filtered scope is being used we have to use scope's host
|
|
1156
|
-
// in the header, otherwise 'host' header won't match.
|
|
1157
|
-
// NOTE: We use lower-case header field names throught Nock.
|
|
1158
|
-
var HOST_HEADER = 'host';
|
|
1159
|
-
if(interceptor.__nock_filteredScope && interceptor.__nock_scopeHost) {
|
|
1160
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if(options && options.headers) {
|
|
1161
|
-
<span class="cstat-no" title="statement not covered" > options.headers[HOST_HEADER] = interceptor.__nock_scopeHost;</span>
|
|
1162
|
-
}
|
|
1163
|
-
setHeader(req, HOST_HEADER, interceptor.__nock_scopeHost);
|
|
1164
|
-
} else {
|
|
1165
|
-
// For all other cases, we always add host header equal to the
|
|
1166
|
-
// requested host unless it was already defined.
|
|
1167
|
-
if (options.host && !getHeader(req, HOST_HEADER)) {
|
|
1168
|
-
var hostHeader = options.host;
|
|
1169
|
-
|
|
1170
|
-
if (options.port === 80 || options.port === 443) {
|
|
1171
|
-
hostHeader = hostHeader.split(':')[0];
|
|
1172
|
-
}
|
|
1173
|
-
|
|
1174
|
-
setHeader(req, HOST_HEADER, hostHeader);
|
|
1175
|
-
}
|
|
1176
|
-
}
|
|
1177
|
-
|
|
1178
|
-
}
|
|
1179
|
-
|
|
1180
|
-
function RequestOverrider(req, options, interceptors, remove, cb) {
|
|
1181
|
-
var response;
|
|
1182
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (IncomingMessage) {
|
|
1183
|
-
response = new IncomingMessage(new EventEmitter());
|
|
1184
|
-
} else {
|
|
1185
|
-
<span class="cstat-no" title="statement not covered" > response = new ReadableStream();</span>
|
|
1186
|
-
<span class="cstat-no" title="statement not covered" > response._read = <span class="fstat-no" title="function not covered" >function() {</span>};</span>
|
|
1187
|
-
}
|
|
1188
|
-
|
|
1189
|
-
var requestBodyBuffers = [],
|
|
1190
|
-
aborted,
|
|
1191
|
-
emitError,
|
|
1192
|
-
end,
|
|
1193
|
-
ended,
|
|
1194
|
-
headers,
|
|
1195
|
-
keys,
|
|
1196
|
-
key,
|
|
1197
|
-
i,
|
|
1198
|
-
l;
|
|
1199
|
-
|
|
1200
|
-
// We may be changing the options object and we don't want those
|
|
1201
|
-
// changes affecting the user so we use a clone of the object.
|
|
1202
|
-
options = _.clone(options) || <span class="branch-1 cbranch-no" title="branch not covered" >{};</span>
|
|
1203
|
-
|
|
1204
|
-
response.req = req;
|
|
1205
|
-
|
|
1206
|
-
if (options.headers) {
|
|
1207
|
-
// We use lower-case header field names throught Nock.
|
|
1208
|
-
options.headers = common.headersFieldNamesToLowerCase(options.headers);
|
|
1209
|
-
|
|
1210
|
-
headers = options.headers;
|
|
1211
|
-
_.forOwn(headers, function(val, key) {
|
|
1212
|
-
setHeader(req, key, val);
|
|
1213
|
-
});
|
|
1214
|
-
}
|
|
1215
|
-
|
|
1216
|
-
/// options.auth
|
|
1217
|
-
if (options.auth && (! options.headers || <span class="branch-2 cbranch-no" title="branch not covered" >! options.headers.authorization)</span>) {
|
|
1218
|
-
setHeader(req, 'Authorization', 'Basic ' + (new Buffer(options.auth)).toString('base64'));
|
|
1219
|
-
}
|
|
1220
|
-
|
|
1221
|
-
if (! req.connection) {
|
|
1222
|
-
req.connection = new EventEmitter();
|
|
1223
|
-
}
|
|
1224
|
-
|
|
1225
|
-
req.path = options.path;
|
|
1226
|
-
|
|
1227
|
-
options.getHeader = function(name) {
|
|
1228
|
-
return getHeader(req, name);
|
|
1229
|
-
};
|
|
1230
|
-
|
|
1231
|
-
req.socket = response.socket = Socket({ proto: options.proto });
|
|
1232
|
-
|
|
1233
|
-
req.write = function(buffer, encoding) {
|
|
1234
|
-
debug('write', arguments);
|
|
1235
|
-
if (buffer && !aborted) {
|
|
1236
|
-
if (! Buffer.isBuffer(buffer)) {
|
|
1237
|
-
buffer = new Buffer(buffer, encoding);
|
|
1238
|
-
}
|
|
1239
|
-
requestBodyBuffers.push(buffer);
|
|
1240
|
-
}
|
|
1241
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (aborted) {
|
|
1242
|
-
<span class="cstat-no" title="statement not covered" > emitError(new Error('Request aborted'));</span>
|
|
1243
|
-
}
|
|
1244
|
-
|
|
1245
|
-
timers.setImmediate(function() {
|
|
1246
|
-
req.emit('drain');
|
|
1247
|
-
});
|
|
1248
|
-
|
|
1249
|
-
return false;
|
|
1250
|
-
};
|
|
1251
|
-
|
|
1252
|
-
req.end = function(buffer, encoding) {
|
|
1253
|
-
debug('req.end');
|
|
1254
|
-
if (!aborted && !ended) {
|
|
1255
|
-
req.write(buffer, encoding);
|
|
1256
|
-
end(cb);
|
|
1257
|
-
req.emit('finish');
|
|
1258
|
-
req.emit('end');
|
|
1259
|
-
}
|
|
1260
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (aborted) {
|
|
1261
|
-
<span class="cstat-no" title="statement not covered" > emitError(new Error('Request aborted'));</span>
|
|
1262
|
-
}
|
|
1263
|
-
};
|
|
1264
|
-
|
|
1265
|
-
req.abort = function() {
|
|
1266
|
-
debug('req.abort');
|
|
1267
|
-
aborted = true;
|
|
1268
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!ended) {
|
|
1269
|
-
<span class="cstat-no" title="statement not covered" > end();</span>
|
|
1270
|
-
}
|
|
1271
|
-
var err = new Error();
|
|
1272
|
-
err.code = 'aborted';
|
|
1273
|
-
response.emit('close', err);
|
|
1274
|
-
|
|
1275
|
-
req.socket.destroy();
|
|
1276
|
-
|
|
1277
|
-
req.emit('abort');
|
|
1278
|
-
|
|
1279
|
-
var connResetError = new Error('socket hang up');
|
|
1280
|
-
connResetError.code = 'ECONNRESET';
|
|
1281
|
-
emitError(connResetError);
|
|
1282
|
-
};
|
|
1283
|
-
|
|
1284
|
-
// restify listens for a 'socket' event to
|
|
1285
|
-
// be emitted before calling end(), which causes
|
|
1286
|
-
// nock to hang with restify. The following logic
|
|
1287
|
-
// fakes the socket behavior for restify,
|
|
1288
|
-
// Fixes: https://github.com/pgte/nock/issues/79
|
|
1289
|
-
req.once = req.on = function(event, listener) {
|
|
1290
|
-
// emit a fake socket.
|
|
1291
|
-
if (event == 'socket') {
|
|
1292
|
-
listener(req.socket);
|
|
1293
|
-
req.socket.emit('connect', req.socket);
|
|
1294
|
-
req.socket.emit('secureConnect', req.socket);
|
|
1295
|
-
}
|
|
1296
|
-
|
|
1297
|
-
EventEmitter.prototype.on.call(this, event, listener);
|
|
1298
|
-
return this;
|
|
1299
|
-
};
|
|
1300
|
-
|
|
1301
|
-
emitError = function(error) {
|
|
1302
|
-
process.nextTick(function () {
|
|
1303
|
-
req.emit('error', error);
|
|
1304
|
-
});
|
|
1305
|
-
};
|
|
1306
|
-
|
|
1307
|
-
end = function(cb) {
|
|
1308
|
-
debug('ending');
|
|
1309
|
-
ended = true;
|
|
1310
|
-
var requestBody,
|
|
1311
|
-
responseBody,
|
|
1312
|
-
responseBuffers,
|
|
1313
|
-
interceptor;
|
|
1314
|
-
|
|
1315
|
-
var continued = false;
|
|
1316
|
-
|
|
1317
|
-
// When request body is a binary buffer we internally use in its hexadecimal representation.
|
|
1318
|
-
var requestBodyBuffer = common.mergeChunks(requestBodyBuffers);
|
|
1319
|
-
var isBinaryRequestBodyBuffer = common.isBinaryBuffer(requestBodyBuffer);
|
|
1320
|
-
if(isBinaryRequestBodyBuffer) {
|
|
1321
|
-
requestBody = requestBodyBuffer.toString('hex');
|
|
1322
|
-
} else {
|
|
1323
|
-
requestBody = requestBodyBuffer.toString('utf8');
|
|
1324
|
-
}
|
|
1325
|
-
|
|
1326
|
-
/// put back the path into options
|
|
1327
|
-
/// because bad behaving agents like superagent
|
|
1328
|
-
/// like to change request.path in mid-flight.
|
|
1329
|
-
options.path = req.path;
|
|
1330
|
-
|
|
1331
|
-
interceptors.forEach(function(interceptor) {
|
|
1332
|
-
// For correct matching we need to have correct request headers - if these were specified.
|
|
1333
|
-
setRequestHeaders(req, options, interceptor);
|
|
1334
|
-
});
|
|
1335
|
-
|
|
1336
|
-
interceptor = _.find(interceptors, function(interceptor) {
|
|
1337
|
-
return interceptor.match(options, requestBody);
|
|
1338
|
-
});
|
|
1339
|
-
|
|
1340
|
-
if (!interceptor) {
|
|
1341
|
-
globalEmitter.emit('no match', req, options, requestBody);
|
|
1342
|
-
// Try to find a hostname match
|
|
1343
|
-
interceptor = _.find(interceptors, function(interceptor) {
|
|
1344
|
-
return interceptor.match(options, requestBody, true);
|
|
1345
|
-
});
|
|
1346
|
-
if (interceptor && req instanceof ClientRequest) {
|
|
1347
|
-
if (interceptor.options.allowUnmocked) {
|
|
1348
|
-
var newReq = new ClientRequest(options, cb);
|
|
1349
|
-
propagate(newReq, req);
|
|
1350
|
-
// We send the raw buffer as we received it, not as we interpreted it.
|
|
1351
|
-
newReq.end(requestBodyBuffer);
|
|
1352
|
-
return;
|
|
1353
|
-
}
|
|
1354
|
-
}
|
|
1355
|
-
|
|
1356
|
-
var err = new Error("Nock: No match for request " + common.stringifyRequest(options, requestBody));
|
|
1357
|
-
err.statusCode = err.status = 404;
|
|
1358
|
-
emitError(err);
|
|
1359
|
-
return;
|
|
1360
|
-
}
|
|
1361
|
-
|
|
1362
|
-
debug('interceptor identified, starting mocking');
|
|
1363
|
-
|
|
1364
|
-
// We again set request headers, now for our matched interceptor.
|
|
1365
|
-
setRequestHeaders(req, options, interceptor);
|
|
1366
|
-
interceptor.req = req;
|
|
1367
|
-
req.headers = req._headers;
|
|
1368
|
-
|
|
1369
|
-
interceptor.scope.emit('request', req, interceptor);
|
|
1370
|
-
|
|
1371
|
-
if (typeof interceptor.errorMessage !== 'undefined') {
|
|
1372
|
-
interceptor.interceptionCounter++;
|
|
1373
|
-
remove(interceptor);
|
|
1374
|
-
interceptor.discard();
|
|
1375
|
-
|
|
1376
|
-
var error;
|
|
1377
|
-
if (_.isObject(interceptor.errorMessage)) {
|
|
1378
|
-
error = interceptor.errorMessage;
|
|
1379
|
-
} else {
|
|
1380
|
-
error = new Error(interceptor.errorMessage);
|
|
1381
|
-
}
|
|
1382
|
-
timers.setTimeout(emitError, interceptor.getTotalDelay(), error);
|
|
1383
|
-
return;
|
|
1384
|
-
}
|
|
1385
|
-
response.statusCode = Number(interceptor.statusCode) || <span class="branch-1 cbranch-no" title="branch not covered" >200;</span>
|
|
1386
|
-
|
|
1387
|
-
// Clone headers/rawHeaders to not override them when evaluating later
|
|
1388
|
-
response.headers = _.extend({}, interceptor.headers);
|
|
1389
|
-
response.rawHeaders = (interceptor.rawHeaders || []).slice();
|
|
1390
|
-
debug('response.rawHeaders:', response.rawHeaders);
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
if (typeof interceptor.body === 'function') {
|
|
1394
|
-
if (requestBody && common.isJSONContent(options.headers)) {
|
|
1395
|
-
requestBody = JSON.parse(requestBody);
|
|
1396
|
-
}
|
|
1397
|
-
|
|
1398
|
-
// In case we are waiting for a callback
|
|
1399
|
-
if (interceptor.body.length === 3) {
|
|
1400
|
-
return interceptor.body(options.path, requestBody || '', continueWithResponseBody);
|
|
1401
|
-
}
|
|
1402
|
-
|
|
1403
|
-
responseBody = interceptor.body(options.path, requestBody) || '';
|
|
1404
|
-
|
|
1405
|
-
} else {
|
|
1406
|
-
|
|
1407
|
-
// If the content is encoded we know that the response body *must* be an array
|
|
1408
|
-
// of response buffers which should be mocked one by one.
|
|
1409
|
-
// (otherwise decompressions after the first one fails as unzip expects to receive
|
|
1410
|
-
// buffer by buffer and not one single merged buffer)
|
|
1411
|
-
if(common.isContentEncoded(response.headers) && ! common.isStream(interceptor.body)) {
|
|
1412
|
-
|
|
1413
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (interceptor.delayInMs) {
|
|
1414
|
-
<span class="cstat-no" title="statement not covered" > emitError(new Error('Response delay is currently not supported with content-encoded responses.'));</span>
|
|
1415
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
1416
|
-
}
|
|
1417
|
-
|
|
1418
|
-
var buffers = interceptor.body;
|
|
1419
|
-
if(!_.isArray(buffers)) {
|
|
1420
|
-
buffers = [buffers];
|
|
1421
|
-
}
|
|
1422
|
-
|
|
1423
|
-
responseBuffers = _.map(buffers, function(buffer) {
|
|
1424
|
-
return new Buffer(buffer, 'hex');
|
|
1425
|
-
});
|
|
1426
|
-
|
|
1427
|
-
} else {
|
|
1428
|
-
|
|
1429
|
-
responseBody = interceptor.body;
|
|
1430
|
-
|
|
1431
|
-
// If the request was binary then we assume that the response will be binary as well.
|
|
1432
|
-
// In that case we send the response as a Buffer object as that's what the client will expect.
|
|
1433
|
-
if(isBinaryRequestBodyBuffer && typeof(responseBody) === 'string') {
|
|
1434
|
-
// Try to create the buffer from the interceptor's body response as hex.
|
|
1435
|
-
try {
|
|
1436
|
-
responseBody = new Buffer(responseBody, 'hex');
|
|
1437
|
-
} catch(err) {
|
|
1438
|
-
<span class="cstat-no" title="statement not covered" > debug('exception during Buffer construction from hex data:', responseBody, '-', err);</span>
|
|
1439
|
-
}
|
|
1440
|
-
|
|
1441
|
-
// Creating buffers does not necessarily throw errors, check for difference in size
|
|
1442
|
-
if (!responseBody || (interceptor.body.length > 0 && responseBody.length === 0)) {
|
|
1443
|
-
// We fallback on constructing buffer from utf8 representation of the body.
|
|
1444
|
-
responseBody = new Buffer(interceptor.body, 'utf8');
|
|
1445
|
-
}
|
|
1446
|
-
}
|
|
1447
|
-
}
|
|
1448
|
-
}
|
|
1449
|
-
|
|
1450
|
-
return continueWithResponseBody(null, responseBody);
|
|
1451
|
-
|
|
1452
|
-
function continueWithResponseBody(err, responseBody) {
|
|
1453
|
-
|
|
1454
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (continued) {
|
|
1455
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
1456
|
-
}
|
|
1457
|
-
continued = true;
|
|
1458
|
-
|
|
1459
|
-
if (err) {
|
|
1460
|
-
response.statusCode = 500;
|
|
1461
|
-
responseBody = err.stack;
|
|
1462
|
-
}
|
|
1463
|
-
|
|
1464
|
-
// Transform the response body if it exists (it may not exist
|
|
1465
|
-
// if we have `responseBuffers` instead)
|
|
1466
|
-
|
|
1467
|
-
if (responseBody) {
|
|
1468
|
-
debug('transform the response body');
|
|
1469
|
-
|
|
1470
|
-
if (Array.isArray(responseBody) &&
|
|
1471
|
-
responseBody.length >= 2 &&
|
|
1472
|
-
responseBody.length <= 3 &&
|
|
1473
|
-
typeof responseBody[0] == 'number')
|
|
1474
|
-
{
|
|
1475
|
-
debug('response body is array: %j', responseBody);
|
|
1476
|
-
response.statusCode = Number(responseBody[0]);
|
|
1477
|
-
debug('new headers: %j', responseBody[2]);
|
|
1478
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (! response.headers) <span class="cstat-no" title="statement not covered" >response.headers = {};</span>
|
|
1479
|
-
_.assign(response.headers, responseBody[2] || {});
|
|
1480
|
-
debug('response.headers after: %j', response.headers);
|
|
1481
|
-
responseBody = responseBody[1];
|
|
1482
|
-
|
|
1483
|
-
response.rawHeaders = response.rawHeaders || <span class="branch-1 cbranch-no" title="branch not covered" >[];</span>
|
|
1484
|
-
Object.keys(response.headers).forEach(function(key) {
|
|
1485
|
-
response.rawHeaders.push(key, response.headers[key]);
|
|
1486
|
-
});
|
|
1487
|
-
}
|
|
1488
|
-
|
|
1489
|
-
if (interceptor.delayInMs) {
|
|
1490
|
-
debug('delaying the response for', interceptor.delayInMs, 'milliseconds');
|
|
1491
|
-
// Because setTimeout is called immediately in DelayedBody(), so we
|
|
1492
|
-
// need count in the delayConnectionInMs.
|
|
1493
|
-
responseBody = new DelayedBody(interceptor.getTotalDelay(), responseBody);
|
|
1494
|
-
}
|
|
1495
|
-
|
|
1496
|
-
if (common.isStream(responseBody)) {
|
|
1497
|
-
debug('response body is a stream');
|
|
1498
|
-
responseBody.pause();
|
|
1499
|
-
responseBody.on('data', function(d) {
|
|
1500
|
-
response.push(d);
|
|
1501
|
-
});
|
|
1502
|
-
responseBody.on('end', function() {
|
|
1503
|
-
response.push(null);
|
|
1504
|
-
});
|
|
1505
|
-
responseBody.on('error', <span class="fstat-no" title="function not covered" >function(err) {</span>
|
|
1506
|
-
<span class="cstat-no" title="statement not covered" > response.emit('error', err);</span>
|
|
1507
|
-
});
|
|
1508
|
-
} else if (responseBody && !Buffer.isBuffer(responseBody)) {
|
|
1509
|
-
if (typeof responseBody === 'string') {
|
|
1510
|
-
responseBody = new Buffer(responseBody);
|
|
1511
|
-
} else {
|
|
1512
|
-
responseBody = JSON.stringify(responseBody);
|
|
1513
|
-
response.headers['content-type'] = 'application/json';
|
|
1514
|
-
}
|
|
1515
|
-
}
|
|
1516
|
-
}
|
|
1517
|
-
|
|
1518
|
-
interceptor.interceptionCounter++;
|
|
1519
|
-
remove(interceptor);
|
|
1520
|
-
interceptor.discard();
|
|
1521
|
-
|
|
1522
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (aborted) { <span class="cstat-no" title="statement not covered" >return; </span>}
|
|
1523
|
-
|
|
1524
|
-
/// response.client.authorized = true
|
|
1525
|
-
/// fixes https://github.com/pgte/nock/issues/158
|
|
1526
|
-
response.client = _.extend(response.client || <span class="branch-1 cbranch-no" title="branch not covered" >{},</span> {
|
|
1527
|
-
authorized: true
|
|
1528
|
-
});
|
|
1529
|
-
|
|
1530
|
-
// Account for updates to Node.js response interface
|
|
1531
|
-
// cf https://github.com/request/request/pull/1615
|
|
1532
|
-
response.socket = _.extend(response.socket || <span class="branch-1 cbranch-no" title="branch not covered" >{},</span> {
|
|
1533
|
-
authorized: true
|
|
1534
|
-
});
|
|
1535
|
-
|
|
1536
|
-
// Evaluate functional headers.
|
|
1537
|
-
var evaluatedHeaders = {}
|
|
1538
|
-
Object.keys(response.headers).forEach(function (key) {
|
|
1539
|
-
var value = response.headers[key];
|
|
1540
|
-
|
|
1541
|
-
if (typeof value === "function") {
|
|
1542
|
-
response.headers[key] = evaluatedHeaders[key] = value(req, response, responseBody);
|
|
1543
|
-
}
|
|
1544
|
-
});
|
|
1545
|
-
|
|
1546
|
-
for(var rawHeaderIndex = 0 ; rawHeaderIndex < response.rawHeaders.length ; rawHeaderIndex += 2) {
|
|
1547
|
-
var key = response.rawHeaders[rawHeaderIndex];
|
|
1548
|
-
var value = response.rawHeaders[rawHeaderIndex + 1];
|
|
1549
|
-
if (typeof value === "function") {
|
|
1550
|
-
response.rawHeaders[rawHeaderIndex + 1] = evaluatedHeaders[key];
|
|
1551
|
-
}
|
|
1552
|
-
}
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
process.nextTick(respond);
|
|
1556
|
-
|
|
1557
|
-
function respond() {
|
|
1558
|
-
|
|
1559
|
-
if (aborted) { return; }
|
|
1560
|
-
|
|
1561
|
-
if (interceptor.socketDelayInMs && interceptor.socketDelayInMs > 0) {
|
|
1562
|
-
req.socket.applyDelay(interceptor.socketDelayInMs);
|
|
1563
|
-
}
|
|
1564
|
-
|
|
1565
|
-
if (interceptor.delayConnectionInMs && interceptor.delayConnectionInMs > 0) {
|
|
1566
|
-
setTimeout(_respond, interceptor.delayConnectionInMs);
|
|
1567
|
-
} else {
|
|
1568
|
-
_respond();
|
|
1569
|
-
}
|
|
1570
|
-
|
|
1571
|
-
function _respond() {
|
|
1572
|
-
if (aborted) { return; }
|
|
1573
|
-
|
|
1574
|
-
debug('emitting response');
|
|
1575
|
-
|
|
1576
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (typeof cb === 'function') {
|
|
1577
|
-
<span class="cstat-no" title="statement not covered" > debug('callback with response');</span>
|
|
1578
|
-
<span class="cstat-no" title="statement not covered" > cb(response);</span>
|
|
1579
|
-
}
|
|
1580
|
-
|
|
1581
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (aborted) {
|
|
1582
|
-
<span class="cstat-no" title="statement not covered" > emitError(new Error('Request aborted'));</span>
|
|
1583
|
-
}
|
|
1584
|
-
else {
|
|
1585
|
-
req.emit('response', response);
|
|
1586
|
-
}
|
|
1587
|
-
|
|
1588
|
-
if (common.isStream(responseBody)) {
|
|
1589
|
-
debug('resuming response stream');
|
|
1590
|
-
responseBody.resume();
|
|
1591
|
-
}
|
|
1592
|
-
else {
|
|
1593
|
-
responseBuffers = responseBuffers || [];
|
|
1594
|
-
if (typeof responseBody !== "undefined") {
|
|
1595
|
-
debug('adding body to buffer list');
|
|
1596
|
-
responseBuffers.push(responseBody);
|
|
1597
|
-
}
|
|
1598
|
-
|
|
1599
|
-
// Stream the response chunks one at a time.
|
|
1600
|
-
timers.setImmediate(function emitChunk() {
|
|
1601
|
-
var chunk = responseBuffers.shift();
|
|
1602
|
-
|
|
1603
|
-
if (chunk) {
|
|
1604
|
-
debug('emitting response chunk');
|
|
1605
|
-
response.push(chunk);
|
|
1606
|
-
timers.setImmediate(emitChunk);
|
|
1607
|
-
}
|
|
1608
|
-
else {
|
|
1609
|
-
debug('ending response stream');
|
|
1610
|
-
response.push(null);
|
|
1611
|
-
interceptor.scope.emit('replied', req, interceptor);
|
|
1612
|
-
}
|
|
1613
|
-
});
|
|
1614
|
-
}
|
|
1615
|
-
}
|
|
1616
|
-
}
|
|
1617
|
-
}
|
|
1618
|
-
};
|
|
1619
|
-
|
|
1620
|
-
return req;
|
|
1621
|
-
}
|
|
1622
|
-
|
|
1623
|
-
module.exports = RequestOverrider;
|
|
1624
|
-
</pre></td></tr>
|
|
1625
|
-
</table></pre>
|
|
1626
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
1627
|
-
</div><!-- /wrapper -->
|
|
1628
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
1629
|
-
Code coverage
|
|
1630
|
-
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed Apr 06 2016 10:42:20 GMT+0100 (BST)
|
|
1631
|
-
</div>
|
|
1632
|
-
</div>
|
|
1633
|
-
<script src="../../prettify.js"></script>
|
|
1634
|
-
<script>
|
|
1635
|
-
window.onload = function () {
|
|
1636
|
-
if (typeof prettyPrint === 'function') {
|
|
1637
|
-
prettyPrint();
|
|
1638
|
-
}
|
|
1639
|
-
};
|
|
1640
|
-
</script>
|
|
1641
|
-
<script src="../../sorter.js"></script>
|
|
1642
|
-
</body>
|
|
1643
|
-
</html>
|