-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathncapi.js
More file actions
39 lines (35 loc) · 1.01 KB
/
ncapi.js
File metadata and controls
39 lines (35 loc) · 1.01 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
var https = require('https');
var config = require('./confighandler');
var Q = require('q');
var request = require('request');
var querystring = require('querystring');
var debug = require('debug')('domain-availability:ncapi');
xml2js = require('xml2js');
module.exports = function ncapi(command) {
var deferred = Q.defer();
var args = {};
if(typeof(command) == "string") {
args.Command = command;
} else {
args = command;
}
args.ApiUser = config.user;
args.ApiKey = config.apikey;
if(args.UserName === undefined) {
args.UserName = config.user;
}
if(args.ClientIP === undefined) {
args.ClientIP = "127.0.0.1";
}
var URL = "https://" + config.domain + "/xml.response?" + querystring.stringify(args);
debug(URL);
var parser = new xml2js.Parser();
request(URL, function (error, response, body) {
if (!error && response.statusCode == 200) {
parser.parseString(body, function (err, result) {
deferred.resolve(result);
});
}
});
return deferred.promise;
};