1 | 'use strict';
|
2 |
|
3 | module.exports = function network (bus, log, Network, ignoreResourceErrors) {
|
4 |
|
5 | const requests = {};
|
6 | let mochaReceived = false;
|
7 |
|
8 | Network.requestWillBeSent(data => {
|
9 | requests[data.requestId] = data.request;
|
10 | });
|
11 |
|
12 | Network.responseReceived(async data => {
|
13 | if (!mochaReceived) {
|
14 | if (data.response.url.match(/mocha\.js$/i)) {
|
15 | bus.emit('ready');
|
16 | }
|
17 | }
|
18 | });
|
19 |
|
20 | Network.loadingFailed(info => {
|
21 | const request = requests[info.requestId];
|
22 | const { url, method } = request;
|
23 | const data = { url, method, reason: info.errorText };
|
24 | if (!ignoreResourceErrors) {
|
25 | log.error('Resource Failed to Load:', data);
|
26 | }
|
27 | bus.emit('resourceFailed', data);
|
28 | });
|
29 |
|
30 | };
|