Skip to content

Commit 4680898

Browse files
refactoring
1 parent c0d0ee8 commit 4680898

File tree

7 files changed

+122
-112
lines changed

7 files changed

+122
-112
lines changed

src/connectors/connectorRIS.js

+26-26
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@
3232

3333
import WebSocket from "../utils/WebSocket";
3434
import Connector from "./connector";
35-
import { AS, Path } from "../model";
35+
import {AS, Path} from "../model";
3636
import brembo from "brembo";
3737
import ipUtils from "ip-sub";
38-
import batchPromises from 'batch-promises';
38+
import batchPromises from "batch-promises";
3939

4040
const beacons = {
4141
v4: ["84.205.64.0/24", "84.205.65.0/24", "84.205.67.0/24", "84.205.68.0/24", "84.205.69.0/24",
@@ -111,11 +111,11 @@ export default class ConnectorRIS extends Connector {
111111

112112
_appendListeners = (resolve, reject) => {
113113
if (this._shouldCanaryMonitoringStart()) {
114-
this.ws.on('message', this._messageToJsonCanary);
114+
this.ws.on("message", this._messageToJsonCanary);
115115
} else {
116-
this.ws.on('message', this._messageToJson);
116+
this.ws.on("message", this._messageToJson);
117117
}
118-
this.ws.on('close', (error) => {
118+
this.ws.on("close", (error) => {
119119

120120
if (this.connected) {
121121
this._disconnect("RIPE RIS disconnected (error: " + error + "). Read more at https://github.com/nttgin/BGPalerter/blob/main/docs/ris-disconnections.md");
@@ -124,10 +124,10 @@ export default class ConnectorRIS extends Connector {
124124
reject();
125125
}
126126
});
127-
this.ws.on('error', error => {
127+
this.ws.on("error", error => {
128128
this._error(`${this.name} ${error.message} (instance:${this.instanceId} connection:${error.connection})`);
129129
});
130-
this.ws.on('open', data => this._openConnect(resolve, data));
130+
this.ws.on("open", data => this._openConnect(resolve, data));
131131
};
132132

133133
connect = () =>
@@ -140,10 +140,10 @@ export default class ConnectorRIS extends Connector {
140140
perMessageDeflate: this.params.perMessageDeflate
141141
};
142142

143-
if (this.params.authorizationHeader){
143+
if (this.params.authorizationHeader) {
144144
wsOptions.headers = {
145145
Authorization: this.params.authorizationHeader
146-
}
146+
};
147147
}
148148

149149
if (!this.params.noProxy && this.agent) {
@@ -154,7 +154,7 @@ export default class ConnectorRIS extends Connector {
154154
this.ws.connect();
155155
this._appendListeners(resolve, reject);
156156

157-
} catch(error) {
157+
} catch (error) {
158158
this._error(error);
159159
reject(error);
160160
}
@@ -176,8 +176,8 @@ export default class ConnectorRIS extends Connector {
176176
_optimizedPathMatch = (regex) => {
177177

178178
if (regex) {
179-
regex = (regex.slice(0,2) === ".*") ? regex.slice(2) : regex;
180-
regex = (regex.slice(-2) === ".*") ? regex.slice(0,-2) : regex;
179+
regex = (regex.slice(0, 2) === ".*") ? regex.slice(2) : regex;
180+
regex = (regex.slice(-2) === ".*") ? regex.slice(0, -2) : regex;
181181
const regexTests = [
182182
"^[\\^]*\\d+[\\$]*$",
183183
"^[\\^]*[\\d+,]+\\d+[\\$]*$",
@@ -201,13 +201,13 @@ export default class ConnectorRIS extends Connector {
201201

202202
if (monitoredPrefixes.length > risLimitPrefixes) {
203203
this.logger.log({
204-
level: 'error',
204+
level: "error",
205205
message: "Prefix list of abnormal length, truncated to 10000 to prevent RIS overload"
206206
});
207207
monitoredPrefixes = monitoredPrefixes.slice(0, risLimitPrefixes);
208208
}
209209

210-
if (monitoredPrefixes.filter(i => (ipUtils.isEqualPrefix(i.prefix, '0:0:0:0:0:0:0:0/0') || ipUtils.isEqualPrefix(i.prefix,'0.0.0.0/0'))).length === 2) {
210+
if (monitoredPrefixes.filter(i => (ipUtils.isEqualPrefix(i.prefix, "0:0:0:0:0:0:0:0/0") || ipUtils.isEqualPrefix(i.prefix, "0.0.0.0/0"))).length === 2) {
211211

212212
delete params.prefix;
213213

@@ -257,7 +257,7 @@ export default class ConnectorRIS extends Connector {
257257

258258
if (monitoredASns.length > risLimitAses) {
259259
this.logger.log({
260-
level: 'error',
260+
level: "error",
261261
message: "AS list of abnormal length, truncated to 10 to prevent RIS overload"
262262
});
263263
monitoredASns = monitoredASns.slice(0, risLimitAses);
@@ -311,13 +311,13 @@ export default class ConnectorRIS extends Connector {
311311
.then(() => {
312312
this._checkCanary();
313313
this.logger.log({
314-
level: 'info',
314+
level: "info",
315315
message: "Subscribed to beacons"
316316
});
317317
})
318318
.catch(() => {
319319
this.logger.log({
320-
level: 'error',
320+
level: "error",
321321
message: "Failed to subscribe to beacons"
322322
});
323323
});
@@ -328,7 +328,7 @@ export default class ConnectorRIS extends Connector {
328328
clearTimeout(this._timerCheckCanary);
329329
if (!this.connected) {
330330
this.logger.log({
331-
level: 'info',
331+
level: "info",
332332
message: "RIS connected again, the streaming session is working properly"
333333
});
334334
}
@@ -337,7 +337,7 @@ export default class ConnectorRIS extends Connector {
337337
if (this.connected) {
338338
this.connected = false;
339339
this.logger.log({
340-
level: 'error',
340+
level: "error",
341341
message: "RIS has been silent for too long, probably there is something wrong"
342342
});
343343
}
@@ -352,14 +352,14 @@ export default class ConnectorRIS extends Connector {
352352
.then(() => this.subscribe(input))
353353
.then(() => {
354354
this.logger.log({
355-
level: 'info',
355+
level: "info",
356356
message: "Prefix rules reloaded"
357357
});
358358
})
359359
.catch(error => {
360360
if (error) {
361361
this.logger.log({
362-
level: 'error',
362+
level: "error",
363363
message: error
364364
});
365365
}
@@ -387,7 +387,7 @@ export default class ConnectorRIS extends Connector {
387387
: this._subscribeToAll(input))
388388
.then(() => {
389389
this.logger.log({
390-
level: 'info',
390+
level: "info",
391391
message: "Subscribed to monitored resources"
392392
});
393393
if (this._shouldCanaryMonitoringStart()) {
@@ -405,10 +405,10 @@ export default class ConnectorRIS extends Connector {
405405

406406
return false;
407407
});
408-
}
408+
};
409409

410410
static transform = (message) => {
411-
if (message.type === 'ris_message') {
411+
if (message.type === "ris_message") {
412412
try {
413413
message = message.data;
414414
const components = [];
@@ -470,8 +470,8 @@ export default class ConnectorRIS extends Connector {
470470
} catch (error) {
471471
throw new Error(`Error during transform (${this.name}): ` + error.message);
472472
}
473-
} else if (message.type === 'ris_error') {
473+
} else if (message.type === "ris_error") {
474474
throw new Error("Error from RIS: " + message.data.message);
475475
}
476-
}
476+
};
477477
};

src/inputs/input.js

+28-28
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ import LongestPrefixMatch from "longest-prefix-match";
3737

3838
export default class Input {
3939

40-
constructor(env){
40+
constructor(env) {
4141
this.prefixes = [];
4242
this.asns = [];
4343
this.config = env.config;
@@ -53,7 +53,7 @@ export default class Input {
5353
.then(() => this._change())
5454
.catch(error => {
5555
this.logger.log({
56-
level: 'error',
56+
level: "error",
5757
message: error
5858
});
5959
console.log(error);
@@ -127,7 +127,7 @@ export default class Input {
127127
}
128128
} catch (error) {
129129
this.logger.log({
130-
level: 'error',
130+
level: "error",
131131
message: error.message
132132
});
133133
}
@@ -136,48 +136,48 @@ export default class Input {
136136
};
137137

138138
getMonitoredMoreSpecifics = () => {
139-
throw new Error('The method getMonitoredMoreSpecifics MUST be implemented');
139+
throw new Error("The method getMonitoredMoreSpecifics MUST be implemented");
140140
};
141141

142142
getMonitoredPrefixes = () => {
143-
throw new Error('The method getMonitoredPrefixes MUST be implemented');
143+
throw new Error("The method getMonitoredPrefixes MUST be implemented");
144144
};
145145

146146

147147
_filterIgnoreMorespecifics = (i, prefix, includeIgnoredMorespecifics) => {
148148
return includeIgnoredMorespecifics
149149
|| !i.ignoreMorespecifics
150150
|| ipUtils._isEqualPrefix(i.prefix, prefix); // last piece says "or it is not a more specific"
151-
}
151+
};
152152

153-
getMoreSpecificMatches = (prefix, includeIgnoredMorespecifics=false) => {
153+
getMoreSpecificMatches = (prefix, includeIgnoredMorespecifics = false) => {
154154
return this.index.getMatch(prefix, false)
155155
.filter(i => this._filterIgnoreMorespecifics(i, prefix, includeIgnoredMorespecifics))
156156
.map(i => ({...i}));
157-
}
157+
};
158158

159159
getMonitoredASns = () => {
160-
throw new Error('The method getMonitoredASns MUST be implemented');
160+
throw new Error("The method getMonitoredASns MUST be implemented");
161161
};
162162

163163
loadPrefixes = () => {
164-
throw new Error('The method loadPrefixes MUST be implemented');
164+
throw new Error("The method loadPrefixes MUST be implemented");
165165
};
166166

167167
save = (data) => {
168-
throw new Error('The method save MUST be implemented');
168+
throw new Error("The method save MUST be implemented");
169169
};
170170

171171
retrieve = () => {
172-
throw new Error('The method retrieve MUST be implemented');
172+
throw new Error("The method retrieve MUST be implemented");
173173
};
174174

175175
generate = () => {
176176
return inquirer
177177
.prompt([
178178
{
179-
type: 'confirm',
180-
name: 'continue',
179+
type: "confirm",
180+
name: "continue",
181181
message: "The file prefixes.yml cannot be loaded. Do you want to auto-configure BGPalerter?",
182182
default: true
183183
}
@@ -187,32 +187,32 @@ export default class Input {
187187
return inquirer
188188
.prompt([
189189
{
190-
type: 'input',
191-
name: 'asns',
190+
type: "input",
191+
name: "asns",
192192
message: "Which Autonomous System(s) you want to monitor? (comma-separated, e.g., 2914,3333)",
193193
default: null,
194-
validate: function(value) {
194+
validate: function (value) {
195195
const asns = value.split(",").filter(i => i !== "" && !isNaN(i));
196196
return asns.length > 0;
197197
}
198198
},
199199

200200
{
201-
type: 'confirm',
202-
name: 'm',
201+
type: "confirm",
202+
name: "m",
203203
message: "Do you want to be notified when your AS is announcing a new prefix?",
204204
default: true
205205
},
206206

207207
{
208-
type: 'confirm',
209-
name: 'upstreams',
208+
type: "confirm",
209+
name: "upstreams",
210210
message: "Do you want to be notified when a new upstream AS appears in a BGP path?",
211211
default: true
212212
},
213213
{
214-
type: 'confirm',
215-
name: 'downstreams',
214+
type: "confirm",
215+
name: "downstreams",
216216
message: "Do you want to be notified when a new downstream AS appears in a BGP path?",
217217
default: true
218218
}
@@ -253,7 +253,7 @@ export default class Input {
253253
.catch(error => {
254254
console.log(error);
255255
this.logger.log({
256-
level: 'error',
256+
level: "error",
257257
message: error
258258
});
259259
process.exit();
@@ -262,7 +262,7 @@ export default class Input {
262262

263263
_reGeneratePrefixList = () => {
264264
this.logger.log({
265-
level: 'info',
265+
level: "info",
266266
message: "Updating prefix list"
267267
});
268268

@@ -322,7 +322,7 @@ export default class Input {
322322

323323
if (newPrefixesNotMergeable.length) {
324324
this.logger.log({
325-
level: 'info',
325+
level: "info",
326326
message: `The rules about ${newPrefixesNotMergeable.join(", ")} cannot be automatically added to the prefix list since their origin cannot be validated. They are not RPKI valid and they are not announced by a monitored AS. Add the prefixes manually if you want to start monitoring them.`
327327
});
328328
}
@@ -333,13 +333,13 @@ export default class Input {
333333
.then(this.save)
334334
.then(() => {
335335
this.logger.log({
336-
level: 'info',
336+
level: "info",
337337
message: `Prefix list updated.`
338338
});
339339
})
340340
.catch(error => {
341341
this.logger.log({
342-
level: 'error',
342+
level: "error",
343343
message: error
344344
});
345345
});

0 commit comments

Comments
 (0)