UNPKG

bmw-js

Version:

BMW javascript REST client for the BMW i3 hackathon.

64 lines (55 loc) 1.61 kB
// Generated by CoffeeScript 1.8.0 (function() { var Http, HttpNodeWrapper, Https, constants; Http = require('http'); Https = require('https'); constants = require('constants'); module.exports = HttpNodeWrapper = (function() { function HttpNodeWrapper() {} HttpNodeWrapper.prototype.request = function(params, callback) { var action; if (params.scheme === 'https') { action = Https.request(params); } else { action = Http.request(params); } action.on('response', function(response) { var data; if (typeof window === "undefined" || window === null) { response.setEncoding('utf8'); } data = ""; response.on('data', function(chunk) { if (chunk) { return data += chunk; } }); return response.on('end', function() { var error; if (response.statusCode > 299) { return callback(response, null); } else if (data.length > 0) { try { return callback(null, JSON.parse(data)); } catch (_error) { error = _error; return callback(data, null); } } else { return callback(null, { result: "ok" }); } }); }); action.on('error', function(error) { return callback(error, null); }); if ((params.body != null)) { action.write(params.body); } return action.end(); }; return HttpNodeWrapper; })(); }).call(this);