This repository was archived by the owner on Dec 3, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathapiClient.js
More file actions
51 lines (43 loc) · 1.3 KB
/
apiClient.js
File metadata and controls
51 lines (43 loc) · 1.3 KB
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
const isValidClientOptions = require("./isValidClientOptions");
const isValidRoTLDCommandInput = require("./isValidRoTLDCommandInput");
const apiClientConfig = require("./apiClient.config");
class ApiClient {
constructor(options) {
isValidClientOptions(options);
const {
username,
password,
environment,
allowUnsecure = apiClientConfig.allowUnsecure,
localValidation = apiClientConfig.localValidation,
format,
language
} = options;
const apiURL = apiClientConfig.apiURLs[environment];
this.username = username;
this.password = password;
this.environment = environment;
this.allowUnsercure = allowUnsecure;
this.localValidation = localValidation;
this.format = format;
this.language = language;
this.localValidation = localValidation;
this.apiURL = apiURL;
}
makeRequest(commandName, input) {
return new Promise(resolve => {
resolve([commandName, input]);
});
}
runCommand(commandName, input) {
return new Promise((resolve, reject) => {
if (this.localValidation) {
isValidRoTLDCommandInput(commandName, input);
}
this.makeRequest(commandName, input)
.then(result => resolve(result))
.catch(error => reject(error));
});
}
}
module.exports = ApiClient;