-
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathServiceConfiguration.js
More file actions
56 lines (42 loc) · 828 Bytes
/
Copy pathServiceConfiguration.js
File metadata and controls
56 lines (42 loc) · 828 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
'use strict';
const _ = require('lodash');
class ServiceConfiguration {
constructor(name, config) {
if (_.isEmpty(name)) {
throw 'name is required';
}
this.name = name;
if (config.url && !_.endsWith(config.url, '/')) {
this.baseUrl = config.url + '/';
} else {
this.baseUrl = config.url;
}
this.timeout = config.timeout || 1000;
this.retries = config.retries || 3;
}
getName() {
return this.name;
}
getBaseUrl() {
return this.baseUrl;
}
isEnabled() {
return !_.isEmpty(this.baseUrl);
}
getUrl() {
return this.baseUrl;
}
getRetries() {
return this.retries;
}
getTimeout() {
return this.timeout;
}
getParameters() {
return {};
}
getHeaders() {
return {};
}
}
module.exports = ServiceConfiguration;