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,1670 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<title>Code coverage report for nock/lib/interceptor.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> interceptor.js
|
|
20
|
-
</h1>
|
|
21
|
-
<div class='clearfix'>
|
|
22
|
-
<div class='fl pad1y space-right2'>
|
|
23
|
-
<span class="strong">92.86% </span>
|
|
24
|
-
<span class="quiet">Statements</span>
|
|
25
|
-
<span class='fraction'>221/238</span>
|
|
26
|
-
</div>
|
|
27
|
-
<div class='fl pad1y space-right2'>
|
|
28
|
-
<span class="strong">88.95% </span>
|
|
29
|
-
<span class="quiet">Branches</span>
|
|
30
|
-
<span class='fraction'>161/181</span>
|
|
31
|
-
</div>
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">92.31% </span>
|
|
34
|
-
<span class="quiet">Functions</span>
|
|
35
|
-
<span class='fraction'>24/26</span>
|
|
36
|
-
</div>
|
|
37
|
-
<div class='fl pad1y space-right2'>
|
|
38
|
-
<span class="strong">92.86% </span>
|
|
39
|
-
<span class="quiet">Lines</span>
|
|
40
|
-
<span class='fraction'>221/238</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
|
|
573
|
-
528
|
|
574
|
-
529
|
|
575
|
-
530
|
|
576
|
-
531
|
|
577
|
-
532
|
|
578
|
-
533
|
|
579
|
-
534
|
|
580
|
-
535
|
|
581
|
-
536</td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
582
|
-
<span class="cline-any cline-neutral"> </span>
|
|
583
|
-
<span class="cline-any cline-yes">1×</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-neutral"> </span>
|
|
589
|
-
<span class="cline-any cline-neutral"> </span>
|
|
590
|
-
<span class="cline-any cline-neutral"> </span>
|
|
591
|
-
<span class="cline-any cline-neutral"> </span>
|
|
592
|
-
<span class="cline-any cline-yes">1×</span>
|
|
593
|
-
<span class="cline-any cline-neutral"> </span>
|
|
594
|
-
<span class="cline-any cline-yes">1×</span>
|
|
595
|
-
<span class="cline-any cline-yes">1×</span>
|
|
596
|
-
<span class="cline-any cline-neutral"> </span>
|
|
597
|
-
<span class="cline-any cline-neutral"> </span>
|
|
598
|
-
<span class="cline-any cline-neutral"> </span>
|
|
599
|
-
<span class="cline-any cline-neutral"> </span>
|
|
600
|
-
<span class="cline-any cline-yes">1×</span>
|
|
601
|
-
<span class="cline-any cline-neutral"> </span>
|
|
602
|
-
<span class="cline-any cline-yes">1×</span>
|
|
603
|
-
<span class="cline-any cline-yes">262×</span>
|
|
604
|
-
<span class="cline-any cline-yes">262×</span>
|
|
605
|
-
<span class="cline-any cline-yes">262×</span>
|
|
606
|
-
<span class="cline-any cline-yes">262×</span>
|
|
607
|
-
<span class="cline-any cline-yes">262×</span>
|
|
608
|
-
<span class="cline-any cline-yes">262×</span>
|
|
609
|
-
<span class="cline-any cline-yes">262×</span>
|
|
610
|
-
<span class="cline-any cline-neutral"> </span>
|
|
611
|
-
<span class="cline-any cline-yes">262×</span>
|
|
612
|
-
<span class="cline-any cline-yes">262×</span>
|
|
613
|
-
<span class="cline-any cline-yes">262×</span>
|
|
614
|
-
<span class="cline-any cline-yes">262×</span>
|
|
615
|
-
<span class="cline-any cline-neutral"> </span>
|
|
616
|
-
<span class="cline-any cline-neutral"> </span>
|
|
617
|
-
<span class="cline-any cline-yes">262×</span>
|
|
618
|
-
<span class="cline-any cline-yes">262×</span>
|
|
619
|
-
<span class="cline-any cline-neutral"> </span>
|
|
620
|
-
<span class="cline-any cline-neutral"> </span>
|
|
621
|
-
<span class="cline-any cline-yes">262×</span>
|
|
622
|
-
<span class="cline-any cline-yes">262×</span>
|
|
623
|
-
<span class="cline-any cline-neutral"> </span>
|
|
624
|
-
<span class="cline-any cline-neutral"> </span>
|
|
625
|
-
<span class="cline-any cline-yes">1×</span>
|
|
626
|
-
<span class="cline-any cline-yes">3×</span>
|
|
627
|
-
<span class="cline-any cline-neutral"> </span>
|
|
628
|
-
<span class="cline-any cline-yes">3×</span>
|
|
629
|
-
<span class="cline-any cline-neutral"> </span>
|
|
630
|
-
<span class="cline-any cline-yes">3×</span>
|
|
631
|
-
<span class="cline-any cline-yes">3×</span>
|
|
632
|
-
<span class="cline-any cline-neutral"> </span>
|
|
633
|
-
<span class="cline-any cline-neutral"> </span>
|
|
634
|
-
<span class="cline-any cline-yes">1×</span>
|
|
635
|
-
<span class="cline-any cline-yes">259×</span>
|
|
636
|
-
<span class="cline-any cline-yes">5×</span>
|
|
637
|
-
<span class="cline-any cline-yes">5×</span>
|
|
638
|
-
<span class="cline-any cline-neutral"> </span>
|
|
639
|
-
<span class="cline-any cline-neutral"> </span>
|
|
640
|
-
<span class="cline-any cline-yes">259×</span>
|
|
641
|
-
<span class="cline-any cline-neutral"> </span>
|
|
642
|
-
<span class="cline-any cline-neutral"> </span>
|
|
643
|
-
<span class="cline-any cline-yes">259×</span>
|
|
644
|
-
<span class="cline-any cline-neutral"> </span>
|
|
645
|
-
<span class="cline-any cline-yes">259×</span>
|
|
646
|
-
<span class="cline-any cline-neutral"> </span>
|
|
647
|
-
<span class="cline-any cline-yes">259×</span>
|
|
648
|
-
<span class="cline-any cline-yes">2×</span>
|
|
649
|
-
<span class="cline-any cline-yes">2×</span>
|
|
650
|
-
<span class="cline-any cline-neutral"> </span>
|
|
651
|
-
<span class="cline-any cline-neutral"> </span>
|
|
652
|
-
<span class="cline-any cline-yes">259×</span>
|
|
653
|
-
<span class="cline-any cline-yes">1×</span>
|
|
654
|
-
<span class="cline-any cline-yes">1×</span>
|
|
655
|
-
<span class="cline-any cline-neutral"> </span>
|
|
656
|
-
<span class="cline-any cline-neutral"> </span>
|
|
657
|
-
<span class="cline-any cline-yes">259×</span>
|
|
658
|
-
<span class="cline-any cline-yes">37×</span>
|
|
659
|
-
<span class="cline-any cline-yes">37×</span>
|
|
660
|
-
<span class="cline-any cline-neutral"> </span>
|
|
661
|
-
<span class="cline-any cline-neutral"> </span>
|
|
662
|
-
<span class="cline-any cline-yes">37×</span>
|
|
663
|
-
<span class="cline-any cline-yes">175×</span>
|
|
664
|
-
<span class="cline-any cline-yes">175×</span>
|
|
665
|
-
<span class="cline-any cline-yes">175×</span>
|
|
666
|
-
<span class="cline-any cline-yes">175×</span>
|
|
667
|
-
<span class="cline-any cline-neutral"> </span>
|
|
668
|
-
<span class="cline-any cline-neutral"> </span>
|
|
669
|
-
<span class="cline-any cline-yes">37×</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-yes">259×</span>
|
|
675
|
-
<span class="cline-any cline-yes">253×</span>
|
|
676
|
-
<span class="cline-any cline-neutral"> </span>
|
|
677
|
-
<span class="cline-any cline-neutral"> </span>
|
|
678
|
-
<span class="cline-any cline-neutral"> </span>
|
|
679
|
-
<span class="cline-any cline-yes">27×</span>
|
|
680
|
-
<span class="cline-any cline-yes">27×</span>
|
|
681
|
-
<span class="cline-any cline-yes">27×</span>
|
|
682
|
-
<span class="cline-any cline-yes">23×</span>
|
|
683
|
-
<span class="cline-any cline-neutral"> </span>
|
|
684
|
-
<span class="cline-any cline-yes">27×</span>
|
|
685
|
-
<span class="cline-any cline-yes">25×</span>
|
|
686
|
-
<span class="cline-any cline-neutral"> </span>
|
|
687
|
-
<span class="cline-any cline-yes">27×</span>
|
|
688
|
-
<span class="cline-any cline-yes">1×</span>
|
|
689
|
-
<span class="cline-any cline-neutral"> </span>
|
|
690
|
-
<span class="cline-any cline-neutral"> </span>
|
|
691
|
-
<span class="cline-any cline-no"> </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-yes">259×</span>
|
|
697
|
-
<span class="cline-any cline-neutral"> </span>
|
|
698
|
-
<span class="cline-any cline-yes">259×</span>
|
|
699
|
-
<span class="cline-any cline-yes">259×</span>
|
|
700
|
-
<span class="cline-any cline-neutral"> </span>
|
|
701
|
-
<span class="cline-any cline-neutral"> </span>
|
|
702
|
-
<span class="cline-any cline-yes">1×</span>
|
|
703
|
-
<span class="cline-any cline-no"> </span>
|
|
704
|
-
<span class="cline-any cline-no"> </span>
|
|
705
|
-
<span class="cline-any cline-neutral"> </span>
|
|
706
|
-
<span class="cline-any cline-no"> </span>
|
|
707
|
-
<span class="cline-any cline-no"> </span>
|
|
708
|
-
<span class="cline-any cline-no"> </span>
|
|
709
|
-
<span class="cline-any cline-no"> </span>
|
|
710
|
-
<span class="cline-any cline-neutral"> </span>
|
|
711
|
-
<span class="cline-any cline-neutral"> </span>
|
|
712
|
-
<span class="cline-any cline-yes">1×</span>
|
|
713
|
-
<span class="cline-any cline-yes">7×</span>
|
|
714
|
-
<span class="cline-any cline-no"> </span>
|
|
715
|
-
<span class="cline-any cline-neutral"> </span>
|
|
716
|
-
<span class="cline-any cline-yes">7×</span>
|
|
717
|
-
<span class="cline-any cline-yes">7×</span>
|
|
718
|
-
<span class="cline-any cline-yes">7×</span>
|
|
719
|
-
<span class="cline-any cline-yes">7×</span>
|
|
720
|
-
<span class="cline-any cline-neutral"> </span>
|
|
721
|
-
<span class="cline-any cline-neutral"> </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-yes">1×</span>
|
|
726
|
-
<span class="cline-any cline-neutral"> </span>
|
|
727
|
-
<span class="cline-any cline-yes">26×</span>
|
|
728
|
-
<span class="cline-any cline-yes">3×</span>
|
|
729
|
-
<span class="cline-any cline-neutral"> </span>
|
|
730
|
-
<span class="cline-any cline-neutral"> </span>
|
|
731
|
-
<span class="cline-any cline-yes">23×</span>
|
|
732
|
-
<span class="cline-any cline-yes">23×</span>
|
|
733
|
-
<span class="cline-any cline-yes">23×</span>
|
|
734
|
-
<span class="cline-any cline-yes">1×</span>
|
|
735
|
-
<span class="cline-any cline-neutral"> </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-neutral"> </span>
|
|
740
|
-
<span class="cline-any cline-yes">23×</span>
|
|
741
|
-
<span class="cline-any cline-neutral"> </span>
|
|
742
|
-
<span class="cline-any cline-neutral"> </span>
|
|
743
|
-
<span class="cline-any cline-neutral"> </span>
|
|
744
|
-
<span class="cline-any cline-no"> </span>
|
|
745
|
-
<span class="cline-any cline-neutral"> </span>
|
|
746
|
-
<span class="cline-any cline-neutral"> </span>
|
|
747
|
-
<span class="cline-any cline-yes">23×</span>
|
|
748
|
-
<span class="cline-any cline-yes">11×</span>
|
|
749
|
-
<span class="cline-any cline-yes">2×</span>
|
|
750
|
-
<span class="cline-any cline-yes">9×</span>
|
|
751
|
-
<span class="cline-any cline-yes">7×</span>
|
|
752
|
-
<span class="cline-any cline-neutral"> </span>
|
|
753
|
-
<span class="cline-any cline-neutral"> </span>
|
|
754
|
-
<span class="cline-any cline-neutral"> </span>
|
|
755
|
-
<span class="cline-any cline-yes">14×</span>
|
|
756
|
-
<span class="cline-any cline-yes">14×</span>
|
|
757
|
-
<span class="cline-any cline-neutral"> </span>
|
|
758
|
-
<span class="cline-any cline-neutral"> </span>
|
|
759
|
-
<span class="cline-any cline-yes">1×</span>
|
|
760
|
-
<span class="cline-any cline-yes">289×</span>
|
|
761
|
-
<span class="cline-any cline-no"> </span>
|
|
762
|
-
<span class="cline-any cline-neutral"> </span>
|
|
763
|
-
<span class="cline-any cline-neutral"> </span>
|
|
764
|
-
<span class="cline-any cline-yes">289×</span>
|
|
765
|
-
<span class="cline-any cline-yes">14×</span>
|
|
766
|
-
<span class="cline-any cline-neutral"> </span>
|
|
767
|
-
<span class="cline-any cline-neutral"> </span>
|
|
768
|
-
<span class="cline-any cline-yes">275×</span>
|
|
769
|
-
<span class="cline-any cline-neutral"> </span>
|
|
770
|
-
<span class="cline-any cline-neutral"> </span>
|
|
771
|
-
<span class="cline-any cline-neutral"> </span>
|
|
772
|
-
<span class="cline-any cline-neutral"> </span>
|
|
773
|
-
<span class="cline-any cline-neutral"> </span>
|
|
774
|
-
<span class="cline-any cline-yes">275×</span>
|
|
775
|
-
<span class="cline-any cline-yes">3×</span>
|
|
776
|
-
<span class="cline-any cline-neutral"> </span>
|
|
777
|
-
<span class="cline-any cline-yes">275×</span>
|
|
778
|
-
<span class="cline-any cline-no"> </span>
|
|
779
|
-
<span class="cline-any cline-neutral"> </span>
|
|
780
|
-
<span class="cline-any cline-yes">275×</span>
|
|
781
|
-
<span class="cline-any cline-yes">6×</span>
|
|
782
|
-
<span class="cline-any cline-neutral"> </span>
|
|
783
|
-
<span class="cline-any cline-neutral"> </span>
|
|
784
|
-
<span class="cline-any cline-yes">275×</span>
|
|
785
|
-
<span class="cline-any cline-yes">14×</span>
|
|
786
|
-
<span class="cline-any cline-yes">2×</span>
|
|
787
|
-
<span class="cline-any cline-neutral"> </span>
|
|
788
|
-
<span class="cline-any cline-yes">12×</span>
|
|
789
|
-
<span class="cline-any cline-neutral"> </span>
|
|
790
|
-
<span class="cline-any cline-neutral"> </span>
|
|
791
|
-
<span class="cline-any cline-yes">275×</span>
|
|
792
|
-
<span class="cline-any cline-neutral"> </span>
|
|
793
|
-
<span class="cline-any cline-yes">1×</span>
|
|
794
|
-
<span class="cline-any cline-yes">1×</span>
|
|
795
|
-
<span class="cline-any cline-neutral"> </span>
|
|
796
|
-
<span class="cline-any cline-neutral"> </span>
|
|
797
|
-
<span class="cline-any cline-yes">274×</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-yes">274×</span>
|
|
802
|
-
<span class="cline-any cline-yes">15×</span>
|
|
803
|
-
<span class="cline-any cline-neutral"> </span>
|
|
804
|
-
<span class="cline-any cline-neutral"> </span>
|
|
805
|
-
<span class="cline-any cline-yes">1×</span>
|
|
806
|
-
<span class="cline-any cline-yes">2×</span>
|
|
807
|
-
<span class="cline-any cline-neutral"> </span>
|
|
808
|
-
<span class="cline-any cline-neutral"> </span>
|
|
809
|
-
<span class="cline-any cline-yes">259×</span>
|
|
810
|
-
<span class="cline-any cline-neutral"> </span>
|
|
811
|
-
<span class="cline-any cline-neutral"> </span>
|
|
812
|
-
<span class="cline-any cline-neutral"> </span>
|
|
813
|
-
<span class="cline-any cline-yes">259×</span>
|
|
814
|
-
<span class="cline-any cline-yes">1×</span>
|
|
815
|
-
<span class="cline-any cline-neutral"> </span>
|
|
816
|
-
<span class="cline-any cline-neutral"> </span>
|
|
817
|
-
<span class="cline-any cline-neutral"> </span>
|
|
818
|
-
<span class="cline-any cline-neutral"> </span>
|
|
819
|
-
<span class="cline-any cline-neutral"> </span>
|
|
820
|
-
<span class="cline-any cline-neutral"> </span>
|
|
821
|
-
<span class="cline-any cline-yes">258×</span>
|
|
822
|
-
<span class="cline-any cline-yes">2×</span>
|
|
823
|
-
<span class="cline-any cline-neutral"> </span>
|
|
824
|
-
<span class="cline-any cline-yes">256×</span>
|
|
825
|
-
<span class="cline-any cline-yes">256×</span>
|
|
826
|
-
<span class="cline-any cline-neutral"> </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-no"> </span>
|
|
831
|
-
<span class="cline-any cline-neutral"> </span>
|
|
832
|
-
<span class="cline-any cline-neutral"> </span>
|
|
833
|
-
<span class="cline-any cline-neutral"> </span>
|
|
834
|
-
<span class="cline-any cline-neutral"> </span>
|
|
835
|
-
<span class="cline-any cline-yes">258×</span>
|
|
836
|
-
<span class="cline-any cline-yes">258×</span>
|
|
837
|
-
<span class="cline-any cline-yes">258×</span>
|
|
838
|
-
<span class="cline-any cline-yes">258×</span>
|
|
839
|
-
<span class="cline-any cline-neutral"> </span>
|
|
840
|
-
<span class="cline-any cline-yes">258×</span>
|
|
841
|
-
<span class="cline-any cline-yes">32×</span>
|
|
842
|
-
<span class="cline-any cline-yes">32×</span>
|
|
843
|
-
<span class="cline-any cline-neutral"> </span>
|
|
844
|
-
<span class="cline-any cline-neutral"> </span>
|
|
845
|
-
<span class="cline-any cline-yes">32×</span>
|
|
846
|
-
<span class="cline-any cline-neutral"> </span>
|
|
847
|
-
<span class="cline-any cline-yes">31×</span>
|
|
848
|
-
<span class="cline-any cline-yes">4×</span>
|
|
849
|
-
<span class="cline-any cline-neutral"> </span>
|
|
850
|
-
<span class="cline-any cline-neutral"> </span>
|
|
851
|
-
<span class="cline-any cline-neutral"> </span>
|
|
852
|
-
<span class="cline-any cline-neutral"> </span>
|
|
853
|
-
<span class="cline-any cline-neutral"> </span>
|
|
854
|
-
<span class="cline-any cline-neutral"> </span>
|
|
855
|
-
<span class="cline-any cline-neutral"> </span>
|
|
856
|
-
<span class="cline-any cline-neutral"> </span>
|
|
857
|
-
<span class="cline-any cline-yes">27×</span>
|
|
858
|
-
<span class="cline-any cline-yes">27×</span>
|
|
859
|
-
<span class="cline-any cline-yes">27×</span>
|
|
860
|
-
<span class="cline-any cline-yes">6×</span>
|
|
861
|
-
<span class="cline-any cline-neutral"> </span>
|
|
862
|
-
<span class="cline-any cline-yes">21×</span>
|
|
863
|
-
<span class="cline-any cline-yes">21×</span>
|
|
864
|
-
<span class="cline-any cline-yes">30×</span>
|
|
865
|
-
<span class="cline-any cline-yes">30×</span>
|
|
866
|
-
<span class="cline-any cline-yes">30×</span>
|
|
867
|
-
<span class="cline-any cline-yes">2×</span>
|
|
868
|
-
<span class="cline-any cline-yes">28×</span>
|
|
869
|
-
<span class="cline-any cline-yes">2×</span>
|
|
870
|
-
<span class="cline-any cline-yes">26×</span>
|
|
871
|
-
<span class="cline-any cline-yes">8×</span>
|
|
872
|
-
<span class="cline-any cline-neutral"> </span>
|
|
873
|
-
<span class="cline-any cline-yes">18×</span>
|
|
874
|
-
<span class="cline-any cline-neutral"> </span>
|
|
875
|
-
<span class="cline-any cline-yes">30×</span>
|
|
876
|
-
<span class="cline-any cline-neutral"> </span>
|
|
877
|
-
<span class="cline-any cline-neutral"> </span>
|
|
878
|
-
<span class="cline-any cline-yes">27×</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-yes">32×</span>
|
|
884
|
-
<span class="cline-any cline-neutral"> </span>
|
|
885
|
-
<span class="cline-any cline-neutral"> </span>
|
|
886
|
-
<span class="cline-any cline-yes">258×</span>
|
|
887
|
-
<span class="cline-any cline-yes">1×</span>
|
|
888
|
-
<span class="cline-any cline-neutral"> </span>
|
|
889
|
-
<span class="cline-any cline-neutral"> </span>
|
|
890
|
-
<span class="cline-any cline-neutral"> </span>
|
|
891
|
-
<span class="cline-any cline-yes">257×</span>
|
|
892
|
-
<span class="cline-any cline-neutral"> </span>
|
|
893
|
-
<span class="cline-any cline-neutral"> </span>
|
|
894
|
-
<span class="cline-any cline-neutral"> </span>
|
|
895
|
-
<span class="cline-any cline-neutral"> </span>
|
|
896
|
-
<span class="cline-any cline-neutral"> </span>
|
|
897
|
-
<span class="cline-any cline-neutral"> </span>
|
|
898
|
-
<span class="cline-any cline-yes">258×</span>
|
|
899
|
-
<span class="cline-any cline-yes">32×</span>
|
|
900
|
-
<span class="cline-any cline-neutral"> </span>
|
|
901
|
-
<span class="cline-any cline-neutral"> </span>
|
|
902
|
-
<span class="cline-any cline-yes">226×</span>
|
|
903
|
-
<span class="cline-any cline-neutral"> </span>
|
|
904
|
-
<span class="cline-any cline-neutral"> </span>
|
|
905
|
-
<span class="cline-any cline-yes">258×</span>
|
|
906
|
-
<span class="cline-any cline-yes">241×</span>
|
|
907
|
-
<span class="cline-any cline-yes">241×</span>
|
|
908
|
-
<span class="cline-any cline-yes">1×</span>
|
|
909
|
-
<span class="cline-any cline-neutral"> </span>
|
|
910
|
-
<span class="cline-any cline-neutral"> </span>
|
|
911
|
-
<span class="cline-any cline-neutral"> </span>
|
|
912
|
-
<span class="cline-any cline-yes">258×</span>
|
|
913
|
-
<span class="cline-any cline-neutral"> </span>
|
|
914
|
-
<span class="cline-any cline-neutral"> </span>
|
|
915
|
-
<span class="cline-any cline-yes">1×</span>
|
|
916
|
-
<span class="cline-any cline-yes">275×</span>
|
|
917
|
-
<span class="cline-any cline-neutral"> </span>
|
|
918
|
-
<span class="cline-any cline-neutral"> </span>
|
|
919
|
-
<span class="cline-any cline-neutral"> </span>
|
|
920
|
-
<span class="cline-any cline-yes">275×</span>
|
|
921
|
-
<span class="cline-any cline-yes">3×</span>
|
|
922
|
-
<span class="cline-any cline-neutral"> </span>
|
|
923
|
-
<span class="cline-any cline-neutral"> </span>
|
|
924
|
-
<span class="cline-any cline-yes">275×</span>
|
|
925
|
-
<span class="cline-any cline-yes">14×</span>
|
|
926
|
-
<span class="cline-any cline-neutral"> </span>
|
|
927
|
-
<span class="cline-any cline-neutral"> </span>
|
|
928
|
-
<span class="cline-any cline-yes">275×</span>
|
|
929
|
-
<span class="cline-any cline-neutral"> </span>
|
|
930
|
-
<span class="cline-any cline-yes">12×</span>
|
|
931
|
-
<span class="cline-any cline-neutral"> </span>
|
|
932
|
-
<span class="cline-any cline-neutral"> </span>
|
|
933
|
-
<span class="cline-any cline-yes">263×</span>
|
|
934
|
-
<span class="cline-any cline-yes">263×</span>
|
|
935
|
-
<span class="cline-any cline-neutral"> </span>
|
|
936
|
-
<span class="cline-any cline-neutral"> </span>
|
|
937
|
-
<span class="cline-any cline-yes">1×</span>
|
|
938
|
-
<span class="cline-any cline-no"> </span>
|
|
939
|
-
<span class="cline-any cline-no"> </span>
|
|
940
|
-
<span class="cline-any cline-neutral"> </span>
|
|
941
|
-
<span class="cline-any cline-no"> </span>
|
|
942
|
-
<span class="cline-any cline-neutral"> </span>
|
|
943
|
-
<span class="cline-any cline-neutral"> </span>
|
|
944
|
-
<span class="cline-any cline-yes">1×</span>
|
|
945
|
-
<span class="cline-any cline-yes">240×</span>
|
|
946
|
-
<span class="cline-any cline-yes">2×</span>
|
|
947
|
-
<span class="cline-any cline-yes">2×</span>
|
|
948
|
-
<span class="cline-any cline-neutral"> </span>
|
|
949
|
-
<span class="cline-any cline-neutral"> </span>
|
|
950
|
-
<span class="cline-any cline-yes">240×</span>
|
|
951
|
-
<span class="cline-any cline-yes">228×</span>
|
|
952
|
-
<span class="cline-any cline-neutral"> </span>
|
|
953
|
-
<span class="cline-any cline-neutral"> </span>
|
|
954
|
-
<span class="cline-any cline-neutral"> </span>
|
|
955
|
-
<span class="cline-any cline-yes">1×</span>
|
|
956
|
-
<span class="cline-any cline-yes">7×</span>
|
|
957
|
-
<span class="cline-any cline-yes">7×</span>
|
|
958
|
-
<span class="cline-any cline-neutral"> </span>
|
|
959
|
-
<span class="cline-any cline-neutral"> </span>
|
|
960
|
-
<span class="cline-any cline-yes">1×</span>
|
|
961
|
-
<span class="cline-any cline-yes">2×</span>
|
|
962
|
-
<span class="cline-any cline-yes">2×</span>
|
|
963
|
-
<span class="cline-any cline-yes">2×</span>
|
|
964
|
-
<span class="cline-any cline-yes">2×</span>
|
|
965
|
-
<span class="cline-any cline-yes">2×</span>
|
|
966
|
-
<span class="cline-any cline-yes">2×</span>
|
|
967
|
-
<span class="cline-any cline-neutral"> </span>
|
|
968
|
-
<span class="cline-any cline-neutral"> </span>
|
|
969
|
-
<span class="cline-any cline-neutral"> </span>
|
|
970
|
-
<span class="cline-any cline-neutral"> </span>
|
|
971
|
-
<span class="cline-any cline-neutral"> </span>
|
|
972
|
-
<span class="cline-any cline-neutral"> </span>
|
|
973
|
-
<span class="cline-any cline-neutral"> </span>
|
|
974
|
-
<span class="cline-any cline-neutral"> </span>
|
|
975
|
-
<span class="cline-any cline-neutral"> </span>
|
|
976
|
-
<span class="cline-any cline-neutral"> </span>
|
|
977
|
-
<span class="cline-any cline-neutral"> </span>
|
|
978
|
-
<span class="cline-any cline-yes">1×</span>
|
|
979
|
-
<span class="cline-any cline-yes">26×</span>
|
|
980
|
-
<span class="cline-any cline-neutral"> </span>
|
|
981
|
-
<span class="cline-any cline-yes">26×</span>
|
|
982
|
-
<span class="cline-any cline-yes">2×</span>
|
|
983
|
-
<span class="cline-any cline-neutral"> </span>
|
|
984
|
-
<span class="cline-any cline-neutral"> </span>
|
|
985
|
-
<span class="cline-any cline-yes">26×</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-yes">23×</span>
|
|
991
|
-
<span class="cline-any cline-yes">33×</span>
|
|
992
|
-
<span class="cline-any cline-yes">33×</span>
|
|
993
|
-
<span class="cline-any cline-yes">33×</span>
|
|
994
|
-
<span class="cline-any cline-yes">33×</span>
|
|
995
|
-
<span class="cline-any cline-neutral"> </span>
|
|
996
|
-
<span class="cline-any cline-neutral"> </span>
|
|
997
|
-
<span class="cline-any cline-neutral"> </span>
|
|
998
|
-
<span class="cline-any cline-yes">23×</span>
|
|
999
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1000
|
-
<span class="cline-any cline-neutral"> </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-neutral"> </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-yes">1×</span>
|
|
1011
|
-
<span class="cline-any cline-yes">6×</span>
|
|
1012
|
-
<span class="cline-any cline-no"> </span>
|
|
1013
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1014
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1015
|
-
<span class="cline-any cline-yes">6×</span>
|
|
1016
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1017
|
-
<span class="cline-any cline-yes">6×</span>
|
|
1018
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1019
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1020
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1021
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1022
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1023
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1024
|
-
<span class="cline-any cline-neutral"> </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-yes">1×</span>
|
|
1029
|
-
<span class="cline-any cline-yes">1×</span>
|
|
1030
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1031
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1032
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1033
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1034
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1035
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1036
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1037
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1038
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1039
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1040
|
-
<span class="cline-any cline-yes">1×</span>
|
|
1041
|
-
<span class="cline-any cline-yes">1×</span>
|
|
1042
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1043
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1044
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1045
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1046
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1047
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1048
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1049
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1050
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1051
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1052
|
-
<span class="cline-any cline-yes">1×</span>
|
|
1053
|
-
<span class="cline-any cline-yes">1×</span>
|
|
1054
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1055
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1056
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1057
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1058
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1059
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1060
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1061
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1062
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1063
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1064
|
-
<span class="cline-any cline-yes">1×</span>
|
|
1065
|
-
<span class="cline-any cline-yes">10×</span>
|
|
1066
|
-
<span class="cline-any cline-yes">10×</span>
|
|
1067
|
-
<span class="cline-any cline-yes">10×</span>
|
|
1068
|
-
<span class="cline-any cline-yes">6×</span>
|
|
1069
|
-
<span class="cline-any cline-yes">4×</span>
|
|
1070
|
-
<span class="cline-any cline-yes">4×</span>
|
|
1071
|
-
<span class="cline-any cline-yes">4×</span>
|
|
1072
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1073
|
-
<span class="cline-any cline-no"> </span>
|
|
1074
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1075
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1076
|
-
<span class="cline-any cline-yes">10×</span>
|
|
1077
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1078
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1079
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1080
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1081
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1082
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1083
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1084
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1085
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1086
|
-
<span class="cline-any cline-yes">1×</span>
|
|
1087
|
-
<span class="cline-any cline-yes">11×</span>
|
|
1088
|
-
<span class="cline-any cline-yes">11×</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-neutral"> </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-yes">18×</span>
|
|
1099
|
-
<span class="cline-any cline-yes">18×</span>
|
|
1100
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1101
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1102
|
-
<span class="cline-any cline-yes">1×</span>
|
|
1103
|
-
<span class="cline-any cline-yes">7×</span>
|
|
1104
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1105
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1106
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1107
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1108
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1109
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1110
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1111
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1112
|
-
<span class="cline-any cline-yes">1×</span>
|
|
1113
|
-
<span class="cline-any cline-yes">2×</span>
|
|
1114
|
-
<span class="cline-any cline-yes">2×</span>
|
|
1115
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1116
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
|
|
1117
|
-
|
|
1118
|
-
var mixin = require('./mixin')
|
|
1119
|
-
, matchBody = require('./match_body')
|
|
1120
|
-
, common = require('./common')
|
|
1121
|
-
, _ = require('lodash')
|
|
1122
|
-
, debug = require('debug')('nock.scope')
|
|
1123
|
-
, stringify = require('json-stringify-safe')
|
|
1124
|
-
, util = require('util')
|
|
1125
|
-
, qs = require('qs');
|
|
1126
|
-
|
|
1127
|
-
var fs;
|
|
1128
|
-
|
|
1129
|
-
try {
|
|
1130
|
-
fs = require('fs');
|
|
1131
|
-
} catch(err) {
|
|
1132
|
-
// do nothing, we're in the browser
|
|
1133
|
-
}
|
|
1134
|
-
|
|
1135
|
-
module.exports = Interceptor;
|
|
1136
|
-
|
|
1137
|
-
function Interceptor(scope, uri, method, requestBody, interceptorOptions) {
|
|
1138
|
-
this.scope = scope;
|
|
1139
|
-
this.interceptorMatchHeaders = [];
|
|
1140
|
-
this.method = method.toUpperCase();
|
|
1141
|
-
this.uri = uri;
|
|
1142
|
-
this._key = this.method + ' ' + scope.basePath + scope.basePathname + (typeof uri === 'string' ? '' : '/') + uri;
|
|
1143
|
-
this.basePath = this.scope.basePath;
|
|
1144
|
-
this.path = (typeof uri === 'string') ? scope.basePathname + uri : uri;
|
|
1145
|
-
|
|
1146
|
-
this.baseUri = this.method + ' ' + scope.basePath + scope.basePathname;
|
|
1147
|
-
this.options = interceptorOptions || {};
|
|
1148
|
-
this.counter = 1;
|
|
1149
|
-
this._requestBody = requestBody;
|
|
1150
|
-
|
|
1151
|
-
// We use lower-case header field names throughout Nock.
|
|
1152
|
-
this.reqheaders = common.headersFieldNamesToLowerCase((scope.scopeOptions && scope.scopeOptions.reqheaders) || {});
|
|
1153
|
-
this.badheaders = common.headersFieldsArrayToLowerCase((scope.scopeOptions && scope.scopeOptions.badheaders) || []);
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
this.delayInMs = 0;
|
|
1157
|
-
this.delayConnectionInMs = 0;
|
|
1158
|
-
}
|
|
1159
|
-
|
|
1160
|
-
Interceptor.prototype.replyWithError = function replyWithError(errorMessage) {
|
|
1161
|
-
this.errorMessage = errorMessage;
|
|
1162
|
-
|
|
1163
|
-
_.defaults(this.options, this.scope.scopeOptions);
|
|
1164
|
-
|
|
1165
|
-
this.scope.add(this._key, this, this.scope, this.scopeOptions);
|
|
1166
|
-
return this.scope;
|
|
1167
|
-
};
|
|
1168
|
-
|
|
1169
|
-
Interceptor.prototype.reply = function reply(statusCode, body, headers) {
|
|
1170
|
-
if (arguments.length <= 2 && _.isFunction(statusCode)) {
|
|
1171
|
-
body = statusCode;
|
|
1172
|
-
statusCode = 200;
|
|
1173
|
-
}
|
|
1174
|
-
|
|
1175
|
-
this.statusCode = statusCode;
|
|
1176
|
-
|
|
1177
|
-
// We use lower-case headers throughout Nock.
|
|
1178
|
-
headers = common.headersFieldNamesToLowerCase(headers);
|
|
1179
|
-
|
|
1180
|
-
_.defaults(this.options, this.scope.scopeOptions);
|
|
1181
|
-
|
|
1182
|
-
if (this.scope._defaultReplyHeaders) {
|
|
1183
|
-
headers = headers || <span class="branch-1 cbranch-no" title="branch not covered" >{};</span>
|
|
1184
|
-
headers = mixin(this.scope._defaultReplyHeaders, headers);
|
|
1185
|
-
}
|
|
1186
|
-
|
|
1187
|
-
if (this.scope.date) {
|
|
1188
|
-
headers = headers || {};
|
|
1189
|
-
headers['date'] = this.scope.date.toUTCString();
|
|
1190
|
-
}
|
|
1191
|
-
|
|
1192
|
-
if (headers !== undefined) {
|
|
1193
|
-
this.headers = {};
|
|
1194
|
-
this.rawHeaders = [];
|
|
1195
|
-
|
|
1196
|
-
// makes sure all keys in headers are in lower case
|
|
1197
|
-
for (var key2 in headers) {
|
|
1198
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (headers.hasOwnProperty(key2)) {
|
|
1199
|
-
this.headers[key2.toLowerCase()] = headers[key2];
|
|
1200
|
-
this.rawHeaders.push(key2);
|
|
1201
|
-
this.rawHeaders.push(headers[key2]);
|
|
1202
|
-
}
|
|
1203
|
-
}
|
|
1204
|
-
debug('reply.rawHeaders:', this.rawHeaders);
|
|
1205
|
-
}
|
|
1206
|
-
|
|
1207
|
-
// If the content is not encoded we may need to transform the response body.
|
|
1208
|
-
// Otherwise we leave it as it is.
|
|
1209
|
-
if (!common.isContentEncoded(headers)) {
|
|
1210
|
-
if (body && typeof(body) !== 'string' &&
|
|
1211
|
-
typeof(body) !== 'function' &&
|
|
1212
|
-
!Buffer.isBuffer(body) &&
|
|
1213
|
-
!common.isStream(body)) {
|
|
1214
|
-
try {
|
|
1215
|
-
body = stringify(body);
|
|
1216
|
-
if (!this.headers) {
|
|
1217
|
-
this.headers = {};
|
|
1218
|
-
}
|
|
1219
|
-
if (!this.headers['content-type']) {
|
|
1220
|
-
this.headers['content-type'] = 'application/json';
|
|
1221
|
-
}
|
|
1222
|
-
if (this.scope.contentLen) {
|
|
1223
|
-
this.headers['content-length'] = body.length;
|
|
1224
|
-
}
|
|
1225
|
-
} catch(err) {
|
|
1226
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Error encoding response body into JSON');</span>
|
|
1227
|
-
}
|
|
1228
|
-
}
|
|
1229
|
-
}
|
|
1230
|
-
|
|
1231
|
-
this.body = body;
|
|
1232
|
-
|
|
1233
|
-
this.scope.add(this._key, this, this.scope, this.scopeOptions);
|
|
1234
|
-
return this.scope;
|
|
1235
|
-
};
|
|
1236
|
-
|
|
1237
|
-
Interceptor.prototype.replyWithFile = <span class="fstat-no" title="function not covered" >function replyWithFile(statusCode, filePath, headers) {</span>
|
|
1238
|
-
<span class="cstat-no" title="statement not covered" > if (! fs) {</span>
|
|
1239
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('No fs');</span>
|
|
1240
|
-
}
|
|
1241
|
-
<span class="cstat-no" title="statement not covered" > var readStream = fs.createReadStream(filePath);</span>
|
|
1242
|
-
<span class="cstat-no" title="statement not covered" > readStream.pause();</span>
|
|
1243
|
-
<span class="cstat-no" title="statement not covered" > this.filePath = filePath;</span>
|
|
1244
|
-
<span class="cstat-no" title="statement not covered" > return this.reply(statusCode, readStream, headers);</span>
|
|
1245
|
-
};
|
|
1246
|
-
|
|
1247
|
-
Interceptor.prototype.replyWithFile = function replyWithFile(statusCode, filePath, headers) {
|
|
1248
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (! fs) {
|
|
1249
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('No fs');</span>
|
|
1250
|
-
}
|
|
1251
|
-
var readStream = fs.createReadStream(filePath);
|
|
1252
|
-
readStream.pause();
|
|
1253
|
-
this.filePath = filePath;
|
|
1254
|
-
return this.reply(statusCode, readStream, headers);
|
|
1255
|
-
};
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
// Also match request headers
|
|
1259
|
-
// https://github.com/pgte/nock/issues/163
|
|
1260
|
-
Interceptor.prototype.reqheaderMatches = function reqheaderMatches(options, key) {
|
|
1261
|
-
// We don't try to match request headers if these weren't even specified in the request.
|
|
1262
|
-
if (! options.headers) {
|
|
1263
|
-
return true;
|
|
1264
|
-
}
|
|
1265
|
-
|
|
1266
|
-
var reqHeader = this.reqheaders[key];
|
|
1267
|
-
var header = options.headers[key];
|
|
1268
|
-
if (header && (typeof header !== 'string') && header.toString) {
|
|
1269
|
-
header = header.toString();
|
|
1270
|
-
}
|
|
1271
|
-
|
|
1272
|
-
// We skip 'host' header comparison unless it's available in both mock and actual request.
|
|
1273
|
-
// This because 'host' may get inserted by Nock itself and then get recorder.
|
|
1274
|
-
// NOTE: We use lower-case header field names throughout Nock.
|
|
1275
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (key === 'host' &&
|
|
1276
|
-
(<span class="branch-1 cbranch-no" title="branch not covered" >_.isUndefined(header) </span>||
|
|
1277
|
-
<span class="branch-2 cbranch-no" title="branch not covered" > _.isUndefined(reqHeader))</span>)
|
|
1278
|
-
{
|
|
1279
|
-
<span class="cstat-no" title="statement not covered" > return true;</span>
|
|
1280
|
-
}
|
|
1281
|
-
|
|
1282
|
-
if (reqHeader && header) {
|
|
1283
|
-
if (_.isFunction(reqHeader)) {
|
|
1284
|
-
return reqHeader(header);
|
|
1285
|
-
} else if (common.matchStringOrRegexp(header, reqHeader)) {
|
|
1286
|
-
return true;
|
|
1287
|
-
}
|
|
1288
|
-
}
|
|
1289
|
-
|
|
1290
|
-
debug('request header field doesn\'t match:', key, header, reqHeader);
|
|
1291
|
-
return false;
|
|
1292
|
-
};
|
|
1293
|
-
|
|
1294
|
-
Interceptor.prototype.match = function match(options, body, hostNameOnly) {
|
|
1295
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (debug.enabled) {
|
|
1296
|
-
<span class="cstat-no" title="statement not covered" > debug('match %s, body = %s', stringify(options), stringify(body));</span>
|
|
1297
|
-
}
|
|
1298
|
-
|
|
1299
|
-
if (hostNameOnly) {
|
|
1300
|
-
return options.hostname === this.scope.urlParts.hostname;
|
|
1301
|
-
}
|
|
1302
|
-
|
|
1303
|
-
var method = (options.method || 'GET').toUpperCase()
|
|
1304
|
-
, path = options.path
|
|
1305
|
-
, matches
|
|
1306
|
-
, matchKey
|
|
1307
|
-
, proto = options.proto;
|
|
1308
|
-
|
|
1309
|
-
if (this.scope.transformPathFunction) {
|
|
1310
|
-
path = this.scope.transformPathFunction(path);
|
|
1311
|
-
}
|
|
1312
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (typeof(body) !== 'string') {
|
|
1313
|
-
<span class="cstat-no" title="statement not covered" > body = body.toString();</span>
|
|
1314
|
-
}
|
|
1315
|
-
if (this.scope.transformRequestBodyFunction) {
|
|
1316
|
-
body = this.scope.transformRequestBodyFunction(body, this._requestBody);
|
|
1317
|
-
}
|
|
1318
|
-
|
|
1319
|
-
var checkHeaders = function(header) {
|
|
1320
|
-
if (_.isFunction(header.value)) {
|
|
1321
|
-
return header.value(options.getHeader(header.name));
|
|
1322
|
-
}
|
|
1323
|
-
return common.matchStringOrRegexp(options.getHeader(header.name), header.value);
|
|
1324
|
-
};
|
|
1325
|
-
|
|
1326
|
-
if (!this.scope.matchHeaders.every(checkHeaders) ||
|
|
1327
|
-
!this.interceptorMatchHeaders.every(checkHeaders)) {
|
|
1328
|
-
this.scope.logger('headers don\'t match');
|
|
1329
|
-
return false;
|
|
1330
|
-
}
|
|
1331
|
-
|
|
1332
|
-
var reqHeadersMatch =
|
|
1333
|
-
! this.reqheaders ||
|
|
1334
|
-
Object.keys(this.reqheaders).every(this.reqheaderMatches.bind(this, options));
|
|
1335
|
-
|
|
1336
|
-
if (!reqHeadersMatch) {
|
|
1337
|
-
return false;
|
|
1338
|
-
}
|
|
1339
|
-
|
|
1340
|
-
function reqheaderContains(header) {
|
|
1341
|
-
return _.has(options.headers, header);
|
|
1342
|
-
}
|
|
1343
|
-
|
|
1344
|
-
var reqContainsBadHeaders =
|
|
1345
|
-
this.badheaders &&
|
|
1346
|
-
_.some(this.badheaders, reqheaderContains);
|
|
1347
|
-
|
|
1348
|
-
if (reqContainsBadHeaders) {
|
|
1349
|
-
return false;
|
|
1350
|
-
}
|
|
1351
|
-
|
|
1352
|
-
// If we have a filtered scope then we use it instead reconstructing
|
|
1353
|
-
// the scope from the request options (proto, host and port) as these
|
|
1354
|
-
// two won't necessarily match and we have to remove the scope that was
|
|
1355
|
-
// matched (vs. that was defined).
|
|
1356
|
-
if (this.__nock_filteredScope) {
|
|
1357
|
-
matchKey = this.__nock_filteredScope;
|
|
1358
|
-
} else {
|
|
1359
|
-
matchKey = proto + '://' + options.host;
|
|
1360
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (
|
|
1361
|
-
options.port && options.host.indexOf(':') < 0 &&
|
|
1362
|
-
(<span class="branch-2 cbranch-no" title="branch not covered" >options.port !== 80 </span>|| <span class="branch-3 cbranch-no" title="branch not covered" >options.proto !== 'http')</span> &&
|
|
1363
|
-
(<span class="branch-4 cbranch-no" title="branch not covered" >options.port !== 443 </span>|| <span class="branch-5 cbranch-no" title="branch not covered" >options.proto !== 'https')</span>
|
|
1364
|
-
) {
|
|
1365
|
-
<span class="cstat-no" title="statement not covered" > matchKey += ":" + options.port;</span>
|
|
1366
|
-
}
|
|
1367
|
-
}
|
|
1368
|
-
|
|
1369
|
-
// Match query strings when using query()
|
|
1370
|
-
var matchQueries = true;
|
|
1371
|
-
var queryIndex = -1;
|
|
1372
|
-
var queryString;
|
|
1373
|
-
var queries;
|
|
1374
|
-
|
|
1375
|
-
if (this.queries && (queryIndex = path.indexOf('?')) !== -1) {
|
|
1376
|
-
queryString = path.slice(queryIndex + 1);
|
|
1377
|
-
queries = qs.parse(queryString);
|
|
1378
|
-
|
|
1379
|
-
// Only check for query string matches if this.queries is an object
|
|
1380
|
-
if (_.isObject(this.queries)) {
|
|
1381
|
-
|
|
1382
|
-
if(_.isFunction(this.queries)){
|
|
1383
|
-
matchQueries = this.queries(queries);
|
|
1384
|
-
}else {
|
|
1385
|
-
// Make sure that you have an equal number of keys. We are
|
|
1386
|
-
// looping through the passed query params and not the expected values
|
|
1387
|
-
// if the user passes fewer query params than expected but all values
|
|
1388
|
-
// match this will throw a false positive. Testing that the length of the
|
|
1389
|
-
// passed query params is equal to the length of expected keys will prevent
|
|
1390
|
-
// us from doing any value checking BEFORE we know if they have all the proper
|
|
1391
|
-
// params
|
|
1392
|
-
debug('this.queries: %j', this.queries);
|
|
1393
|
-
debug('queries: %j', queries);
|
|
1394
|
-
if (_.size(this.queries) !== _.size(queries)) {
|
|
1395
|
-
matchQueries = false;
|
|
1396
|
-
} else {
|
|
1397
|
-
var self = this;
|
|
1398
|
-
_.forOwn(queries, function matchOneKeyVal(val, key) {
|
|
1399
|
-
var expVal = self.queries[key];
|
|
1400
|
-
var isMatch = true;
|
|
1401
|
-
if (val === undefined || expVal === undefined) {
|
|
1402
|
-
isMatch = false;
|
|
1403
|
-
} else if (expVal instanceof RegExp) {
|
|
1404
|
-
isMatch = common.matchStringOrRegexp(val, expVal);
|
|
1405
|
-
} else if (_.isArray(expVal) || _.isObject(expVal)) {
|
|
1406
|
-
isMatch = _.isEqual(val, expVal);
|
|
1407
|
-
} else {
|
|
1408
|
-
isMatch = common.matchStringOrRegexp(val, expVal);
|
|
1409
|
-
}
|
|
1410
|
-
matchQueries = matchQueries && !!isMatch;
|
|
1411
|
-
});
|
|
1412
|
-
}
|
|
1413
|
-
debug('matchQueries: %j', matchQueries);
|
|
1414
|
-
}
|
|
1415
|
-
}
|
|
1416
|
-
|
|
1417
|
-
// Remove the query string from the path
|
|
1418
|
-
path = path.substr(0, queryIndex);
|
|
1419
|
-
}
|
|
1420
|
-
|
|
1421
|
-
if (typeof this.uri === 'function') {
|
|
1422
|
-
matches = matchQueries &&
|
|
1423
|
-
method.toUpperCase() + ' ' + proto + '://' + options.host === this.baseUri &&
|
|
1424
|
-
this.uri.call(this, path);
|
|
1425
|
-
} else {
|
|
1426
|
-
matches = method === this.method &&
|
|
1427
|
-
common.matchStringOrRegexp(matchKey, this.basePath) &&
|
|
1428
|
-
common.matchStringOrRegexp(path, this.path) &&
|
|
1429
|
-
matchQueries;
|
|
1430
|
-
}
|
|
1431
|
-
|
|
1432
|
-
// special logger for query()
|
|
1433
|
-
if (queryIndex !== -1) {
|
|
1434
|
-
this.scope.logger('matching ' + matchKey + '?' + queryString + ' to ' + this._key +
|
|
1435
|
-
' with query(' + stringify(this.queries) + '): ' + matches);
|
|
1436
|
-
} else {
|
|
1437
|
-
this.scope.logger('matching ' + matchKey + ' to ' + this._key + ': ' + matches);
|
|
1438
|
-
}
|
|
1439
|
-
|
|
1440
|
-
if (matches) {
|
|
1441
|
-
matches = (matchBody.call(options, this._requestBody, body));
|
|
1442
|
-
if (!matches) {
|
|
1443
|
-
this.scope.logger('bodies don\'t match: \n', this._requestBody, '\n', body);
|
|
1444
|
-
}
|
|
1445
|
-
}
|
|
1446
|
-
|
|
1447
|
-
return matches;
|
|
1448
|
-
};
|
|
1449
|
-
|
|
1450
|
-
Interceptor.prototype.matchIndependentOfBody = function matchIndependentOfBody(options) {
|
|
1451
|
-
var method = (options.method || 'GET').toUpperCase()
|
|
1452
|
-
, path = options.path
|
|
1453
|
-
, proto = options.proto;
|
|
1454
|
-
|
|
1455
|
-
if (this.scope.transformPathFunction) {
|
|
1456
|
-
path = this.scope.transformPathFunction(path);
|
|
1457
|
-
}
|
|
1458
|
-
|
|
1459
|
-
var checkHeaders = function(header) {
|
|
1460
|
-
return options.getHeader && common.matchStringOrRegexp(options.getHeader(header.name), header.value);
|
|
1461
|
-
};
|
|
1462
|
-
|
|
1463
|
-
if (!this.scope.matchHeaders.every(checkHeaders) ||
|
|
1464
|
-
!this.interceptorMatchHeaders.every(checkHeaders)) {
|
|
1465
|
-
return false;
|
|
1466
|
-
}
|
|
1467
|
-
|
|
1468
|
-
var matchKey = method + ' ' + proto + '://' + options.host + path;
|
|
1469
|
-
return this._key === matchKey;
|
|
1470
|
-
};
|
|
1471
|
-
|
|
1472
|
-
Interceptor.prototype.filteringPath = <span class="fstat-no" title="function not covered" >function filteringPath() {</span>
|
|
1473
|
-
<span class="cstat-no" title="statement not covered" > if (_.isFunction(arguments[0])) {</span>
|
|
1474
|
-
<span class="cstat-no" title="statement not covered" > this.scope.transformFunction = arguments[0];</span>
|
|
1475
|
-
}
|
|
1476
|
-
<span class="cstat-no" title="statement not covered" > return this;</span>
|
|
1477
|
-
};
|
|
1478
|
-
|
|
1479
|
-
Interceptor.prototype.discard = function discard() {
|
|
1480
|
-
if ((this.scope.shouldPersist() || this.counter > 0) && this.filePath) {
|
|
1481
|
-
this.body = fs.createReadStream(this.filePath);
|
|
1482
|
-
this.body.pause();
|
|
1483
|
-
}
|
|
1484
|
-
|
|
1485
|
-
if (!this.scope.shouldPersist() && this.counter < 1) {
|
|
1486
|
-
this.scope.remove(this._key, this);
|
|
1487
|
-
}
|
|
1488
|
-
};
|
|
1489
|
-
|
|
1490
|
-
Interceptor.prototype.matchHeader = function matchHeader(name, value) {
|
|
1491
|
-
this.interceptorMatchHeaders.push({ name: name, value: value });
|
|
1492
|
-
return this;
|
|
1493
|
-
};
|
|
1494
|
-
|
|
1495
|
-
Interceptor.prototype.basicAuth = function basicAuth(options) {
|
|
1496
|
-
var username = options['user'];
|
|
1497
|
-
var password = options['pass'] || '';
|
|
1498
|
-
var name = 'authorization';
|
|
1499
|
-
var value = 'Basic ' + new Buffer(username + ':' + password).toString('base64');
|
|
1500
|
-
this.interceptorMatchHeaders.push({ name: name, value: value });
|
|
1501
|
-
return this;
|
|
1502
|
-
};
|
|
1503
|
-
|
|
1504
|
-
/**
|
|
1505
|
-
* Set query strings for the interceptor
|
|
1506
|
-
* @name query
|
|
1507
|
-
* @param Object Object of query string name,values (accepts regexp values)
|
|
1508
|
-
* @public
|
|
1509
|
-
* @example
|
|
1510
|
-
* // Will match 'http://zombo.com/?q=t'
|
|
1511
|
-
* nock('http://zombo.com').get('/').query({q: 't'});
|
|
1512
|
-
*/
|
|
1513
|
-
Interceptor.prototype.query = function query(queries) {
|
|
1514
|
-
this.queries = this.queries || {};
|
|
1515
|
-
// Allow all query strings to match this route
|
|
1516
|
-
if (queries === true) {
|
|
1517
|
-
this.queries = queries;
|
|
1518
|
-
}
|
|
1519
|
-
|
|
1520
|
-
if(_.isFunction(queries)){
|
|
1521
|
-
this.queries = queries;
|
|
1522
|
-
return this;
|
|
1523
|
-
}
|
|
1524
|
-
|
|
1525
|
-
for (var q in queries) {
|
|
1526
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (_.isUndefined(this.queries[q])) {
|
|
1527
|
-
var value = queries[q];
|
|
1528
|
-
var formatedPair = common.formatQueryValue(q, value, this.scope.scopeOptions);
|
|
1529
|
-
this.queries[formatedPair[0]] = formatedPair[1];
|
|
1530
|
-
}
|
|
1531
|
-
}
|
|
1532
|
-
|
|
1533
|
-
return this;
|
|
1534
|
-
};
|
|
1535
|
-
|
|
1536
|
-
/**
|
|
1537
|
-
* Set number of times will repeat the interceptor
|
|
1538
|
-
* @name times
|
|
1539
|
-
* @param Integer Number of times to repeat (should be > 0)
|
|
1540
|
-
* @public
|
|
1541
|
-
* @example
|
|
1542
|
-
* // Will repeat mock 5 times for same king of request
|
|
1543
|
-
* nock('http://zombo.com).get('/').times(5).reply(200, 'Ok');
|
|
1544
|
-
*/
|
|
1545
|
-
Interceptor.prototype.times = function times(newCounter) {
|
|
1546
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (newCounter < 1) {
|
|
1547
|
-
<span class="cstat-no" title="statement not covered" > return this;</span>
|
|
1548
|
-
}
|
|
1549
|
-
|
|
1550
|
-
this.counter = newCounter;
|
|
1551
|
-
|
|
1552
|
-
return this;
|
|
1553
|
-
};
|
|
1554
|
-
|
|
1555
|
-
/**
|
|
1556
|
-
* An sugar syntax for times(1)
|
|
1557
|
-
* @name once
|
|
1558
|
-
* @see {@link times}
|
|
1559
|
-
* @public
|
|
1560
|
-
* @example
|
|
1561
|
-
* nock('http://zombo.com).get('/').once.reply(200, 'Ok');
|
|
1562
|
-
*/
|
|
1563
|
-
Interceptor.prototype.once = function once() {
|
|
1564
|
-
return this.times(1);
|
|
1565
|
-
};
|
|
1566
|
-
|
|
1567
|
-
/**
|
|
1568
|
-
* An sugar syntax for times(2)
|
|
1569
|
-
* @name twice
|
|
1570
|
-
* @see {@link times}
|
|
1571
|
-
* @public
|
|
1572
|
-
* @example
|
|
1573
|
-
* nock('http://zombo.com).get('/').twice.reply(200, 'Ok');
|
|
1574
|
-
*/
|
|
1575
|
-
Interceptor.prototype.twice = function twice() {
|
|
1576
|
-
return this.times(2);
|
|
1577
|
-
};
|
|
1578
|
-
|
|
1579
|
-
/**
|
|
1580
|
-
* An sugar syntax for times(3).
|
|
1581
|
-
* @name thrice
|
|
1582
|
-
* @see {@link times}
|
|
1583
|
-
* @public
|
|
1584
|
-
* @example
|
|
1585
|
-
* nock('http://zombo.com).get('/').thrice.reply(200, 'Ok');
|
|
1586
|
-
*/
|
|
1587
|
-
Interceptor.prototype.thrice = function thrice() {
|
|
1588
|
-
return this.times(3);
|
|
1589
|
-
};
|
|
1590
|
-
|
|
1591
|
-
/**
|
|
1592
|
-
* Delay the response by a certain number of ms.
|
|
1593
|
-
*
|
|
1594
|
-
* @param {(integer|object)} opts - Number of milliseconds to wait, or an object
|
|
1595
|
-
* @param {integer} [opts.head] - Number of milliseconds to wait before response is sent
|
|
1596
|
-
* @param {integer} [opts.body] - Number of milliseconds to wait before response body is sent
|
|
1597
|
-
* @return {interceptor} - the current interceptor for chaining
|
|
1598
|
-
*/
|
|
1599
|
-
Interceptor.prototype.delay = function delay(opts) {
|
|
1600
|
-
var headDelay = 0;
|
|
1601
|
-
var bodyDelay = 0;
|
|
1602
|
-
if (_.isNumber(opts)) {
|
|
1603
|
-
headDelay = opts;
|
|
1604
|
-
} else <span class="missing-if-branch" title="else path not taken" >E</span>if (_.isObject(opts)) {
|
|
1605
|
-
headDelay = opts.head || 0;
|
|
1606
|
-
bodyDelay = opts.body || 0;
|
|
1607
|
-
} else {
|
|
1608
|
-
<span class="cstat-no" title="statement not covered" > throw new Error("Unexpected input opts" + opts);</span>
|
|
1609
|
-
}
|
|
1610
|
-
|
|
1611
|
-
return this.delayConnection(headDelay)
|
|
1612
|
-
.delayBody(bodyDelay);
|
|
1613
|
-
};
|
|
1614
|
-
|
|
1615
|
-
/**
|
|
1616
|
-
* Delay the response body by a certain number of ms.
|
|
1617
|
-
*
|
|
1618
|
-
* @param {integer} ms - Number of milliseconds to wait before response is sent
|
|
1619
|
-
* @return {interceptor} - the current interceptor for chaining
|
|
1620
|
-
*/
|
|
1621
|
-
Interceptor.prototype.delayBody = function delayBody(ms) {
|
|
1622
|
-
this.delayInMs += ms;
|
|
1623
|
-
return this;
|
|
1624
|
-
};
|
|
1625
|
-
|
|
1626
|
-
/**
|
|
1627
|
-
* Delay the connection by a certain number of ms.
|
|
1628
|
-
*
|
|
1629
|
-
* @param {integer} ms - Number of milliseconds to wait
|
|
1630
|
-
* @return {interceptor} - the current interceptor for chaining
|
|
1631
|
-
*/
|
|
1632
|
-
Interceptor.prototype.delayConnection = function delayConnection(ms) {
|
|
1633
|
-
this.delayConnectionInMs += ms;
|
|
1634
|
-
return this;
|
|
1635
|
-
};
|
|
1636
|
-
|
|
1637
|
-
Interceptor.prototype.getTotalDelay =function getTotalDelay() {
|
|
1638
|
-
return this.delayInMs + this.delayConnectionInMs;
|
|
1639
|
-
};
|
|
1640
|
-
|
|
1641
|
-
/**
|
|
1642
|
-
* Make the socket idle for a certain number of ms (simulated).
|
|
1643
|
-
*
|
|
1644
|
-
* @param {integer} ms - Number of milliseconds to wait
|
|
1645
|
-
* @return {interceptor} - the current interceptor for chaining
|
|
1646
|
-
*/
|
|
1647
|
-
Interceptor.prototype.socketDelay = function socketDelay(ms) {
|
|
1648
|
-
this.socketDelayInMs = ms;
|
|
1649
|
-
return this;
|
|
1650
|
-
};
|
|
1651
|
-
</pre></td></tr>
|
|
1652
|
-
</table></pre>
|
|
1653
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
1654
|
-
</div><!-- /wrapper -->
|
|
1655
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
1656
|
-
Code coverage
|
|
1657
|
-
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed Apr 06 2016 10:42:20 GMT+0100 (BST)
|
|
1658
|
-
</div>
|
|
1659
|
-
</div>
|
|
1660
|
-
<script src="../../prettify.js"></script>
|
|
1661
|
-
<script>
|
|
1662
|
-
window.onload = function () {
|
|
1663
|
-
if (typeof prettyPrint === 'function') {
|
|
1664
|
-
prettyPrint();
|
|
1665
|
-
}
|
|
1666
|
-
};
|
|
1667
|
-
</script>
|
|
1668
|
-
<script src="../../sorter.js"></script>
|
|
1669
|
-
</body>
|
|
1670
|
-
</html>
|