Skip to content

Commit 188419f

Browse files
committed
Added universal client Axios as HTTP client for Node.js and Browser
1 parent 52b64a4 commit 188419f

File tree

1 file changed

+22
-22
lines changed

1 file changed

+22
-22
lines changed

lib/init.js

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
"use strict";
22
var restify = require('restify-clients');
3+
var axios = require('axios');
34
const querystring = require('querystring');
45

56
const url = 'https://api.etherscan.io';
@@ -33,32 +34,31 @@ module.exports = function (apiKey, chain) {
3334
return testUrls[chain];
3435
}
3536

36-
var client = restify.createJsonClient({
37-
// added testnet condition
38-
url: pickChainUrl(chain),
39-
// url: url,
40-
version: '*'
37+
var client = axios.create({
38+
baseURL: pickChainUrl(chain),
39+
timeout: 3000
4140
});
4241

4342
function getRequest(query) {
44-
var p = new Promise(function (resolve, reject) {
45-
client.get('/api?' + query, function (err, req, res, data) {
46-
if (err) {
47-
return reject(err);
48-
}
49-
// reject a error from the normal RPC
50-
if (data.status && data.status != 1) {
51-
return reject(data.message);
52-
}
53-
54-
if (data.error) {
55-
return reject(data.error.message);
56-
}
57-
58-
resolve(data);
59-
});
43+
return new Promise(function (resolve, reject) {
44+
client.get('/api?' + query)
45+
.then(function (response) {
46+
var data = response.data;
47+
48+
if (data.status && data.status != 1) {
49+
return reject(data.message);
50+
}
51+
52+
if (data.error) {
53+
return reject(data.error.message);
54+
}
55+
56+
resolve(data);
57+
})
58+
.catch(function (error) {
59+
return reject(error);
60+
})
6061
});
61-
return p;
6262
}
6363

6464
/** @lends module:etherscan/api */

0 commit comments

Comments
 (0)