UNPKG

nerve-sdk-js

Version:
105 lines (95 loc) 2.65 kB
var axios = require('axios').default; var https = require('https'); var nerve = require('../../index'); axios.defaults.headers.post['Content-Type'] = 'application/json'; // const agent = new https.Agent({ // rejectUnauthorized: false, // host: '127.0.0.1', // port: 1087 // }); var agent = new https.Agent({ rejectUnauthorized: false }); /** * 封装post请求 * Encapsulation post method * @param url * @param methodName * @param data * @returns {Promise} */ module.exports = { post(url, methodName) { var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; return new Promise((resolve, reject) => { data.unshift(nerve.chainId()); var params = { "jsonrpc": "2.0", "method": methodName, "params": data, "id": Math.floor(Math.random() * 1000) }; axios.post(url, params, { httpsAgent: agent }).then(response => { resolve(response.data); }, err => { reject(err); }); }); }, postComplete(url, methodName) { var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; return new Promise((resolve, reject) => { var params = { "jsonrpc": "2.0", "method": methodName, "params": data, "id": Math.floor(Math.random() * 1000) }; axios.post(url, params).then(response => { resolve(response.data); }, err => { reject(err); }); }); }, postCompleteWithHeader(url, methodName) { var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; var header = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; header['Content-Type'] = 'application/json'; return new Promise((resolve, reject) => { var params = { "jsonrpc": "2.0", "method": methodName, "params": data, "id": Math.floor(Math.random() * 1000) }; axios.post(url, params, { headers: header }).then(response => { resolve(response.data); }, err => { reject(err); }); }); }, postDirect(url) { var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return new Promise((resolve, reject) => { axios.post(url, params).then(response => { resolve(response.data); }, err => { reject(err); }); }); }, get(url) { return new Promise((resolve, reject) => { axios.get(url).then(response => { resolve(response.data); }, err => { reject(err); }); }); } };