diff --git a/lib/web3/httpprovider.js b/lib/web3/httpprovider.js index 9e6d3b4..93c89c0 100644 --- a/lib/web3/httpprovider.js +++ b/lib/web3/httpprovider.js @@ -22,31 +22,29 @@ * @date 2015 */ - -var errors = require('./errors'); +var errors = require('./errors') // workaround to use httpprovider in different envs // browser if (typeof window !== 'undefined' && window.XMLHttpRequest) { - XMLHttpRequest = window.XMLHttpRequest; // jshint ignore: line + XMLHttpRequest = window.XMLHttpRequest // jshint ignore: line // node } else { - XMLHttpRequest = require('xmlhttprequest').XMLHttpRequest; // jshint ignore: line + XMLHttpRequest = require('xmlhttprequest').XMLHttpRequest // jshint ignore: line } -var XHR2 = require('xhr2'); // jshint ignore: line -var btoa = require('btoa'); +var XHR2 = require('xhr2') // jshint ignore: line /** * HttpProvider should be used to send rpc calls over http */ var HttpProvider = function (host, timeout, user, password) { - this.host = host || 'http://localhost:8545'; - this.timeout = timeout || 0; - this.user = user; - this.password = password; -}; + this.host = host || 'http://localhost:8545' + this.timeout = timeout || 0 + this.user = user + this.password = password +} /** * Should be called to prepare new XMLHttpRequest @@ -56,23 +54,19 @@ var HttpProvider = function (host, timeout, user, password) { * @return {XMLHttpRequest} object */ HttpProvider.prototype.prepareRequest = function (async) { - var request; + var request - if (async) { - request = new XHR2(); - request.timeout = this.timeout; - }else { - request = new XMLHttpRequest(); - } + if (async) { + request = new XHR2() + request.timeout = this.timeout + } else { + request = new XMLHttpRequest() + } - request.open('POST', this.host, async); - if (this.user && this.password) { - var value = 'Basic ' + btoa(this.user + ':' + this.password); - request.setRequestHeader('Authorization', value); - } - request.setRequestHeader('Content-Type','application/json'); - return request; -}; + request.open('POST', this.host, async, this.user, this.password) + request.setRequestHeader('Content-Type', 'application/json') + return request +} /** * Should be called to make sync request @@ -82,24 +76,24 @@ HttpProvider.prototype.prepareRequest = function (async) { * @return {Object} result */ HttpProvider.prototype.send = function (payload) { - var request = this.prepareRequest(false); + var request = this.prepareRequest(false) - try { - request.send(JSON.stringify(payload)); - } catch(error) { - throw errors.InvalidConnection(this.host); - } + try { + request.send(JSON.stringify(payload)) + } catch (error) { + throw errors.InvalidConnection(this.host) + } - var result = request.responseText; + var result = request.responseText - try { - result = JSON.parse(result); - } catch(e) { - throw errors.InvalidResponse(request.responseText); - } + try { + result = JSON.parse(result) + } catch (e) { + throw errors.InvalidResponse(request.responseText) + } - return result; -}; + return result +} /** * Should be used to make async request @@ -109,33 +103,33 @@ HttpProvider.prototype.send = function (payload) { * @param {Function} callback triggered on end with (err, result) */ HttpProvider.prototype.sendAsync = function (payload, callback) { - var request = this.prepareRequest(true); + var request = this.prepareRequest(true) - request.onreadystatechange = function() { - if (request.readyState === 4 && request.timeout !== 1) { - var result = request.responseText; - var error = null; + request.onreadystatechange = function () { + if (request.readyState === 4 && request.timeout !== 1) { + var result = request.responseText + var error = null - try { - result = JSON.parse(result); - } catch(e) { - error = errors.InvalidResponse(request.responseText); - } + try { + result = JSON.parse(result) + } catch (e) { + error = errors.InvalidResponse(request.responseText) + } - callback(error, result); - } - }; - - request.ontimeout = function() { - callback(errors.ConnectionTimeout(this.timeout)); - }; - - try { - request.send(JSON.stringify(payload)); - } catch(error) { - callback(errors.InvalidConnection(this.host)); + callback(error, result) } -}; + } + + request.ontimeout = function () { + callback(errors.ConnectionTimeout(this.timeout)) + } + + try { + request.send(JSON.stringify(payload)) + } catch (error) { + callback(errors.InvalidConnection(this.host)) + } +} /** * Synchronously tries to make Http request @@ -143,18 +137,18 @@ HttpProvider.prototype.sendAsync = function (payload, callback) { * @method isConnected * @return {Boolean} returns true if request haven't failed. Otherwise false */ -HttpProvider.prototype.isConnected = function() { - try { - this.send({ - id: 9999999999, - jsonrpc: '2.0', - method: 'net_listening', - params: [] - }); - return true; - } catch(e) { - return false; - } -}; +HttpProvider.prototype.isConnected = function () { + try { + this.send({ + id: 9999999999, + jsonrpc: '2.0', + method: 'net_listening', + params: [] + }) + return true + } catch (e) { + return false + } +} -module.exports = HttpProvider; +module.exports = HttpProvider diff --git a/package.json b/package.json index 427a6d8..1af36c1 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,6 @@ "lib": "./lib" }, "dependencies": { - "btoa": "^1.1.2", "bignumber.js": "git+https://github.com/frozeman/bignumber.js-nolookahead.git", "crypto-js": "^3.1.4", "utf8": "^2.1.1",