UNPKG

bmw-js

Version:

BMW javascript REST client for the BMW i3 hackathon.

40 lines (33 loc) 1.29 kB
Http = require 'http' Https = require 'https' constants = require 'constants' module.exports = class HttpNodeWrapper request: (params, callback) -> # params.agent = false # #params.rejectUnauthorized = false # params.secureOptions = constants.SSL_OP_NO_TLSv1_2 # params.secureProtocol = 'SSLv3_method' # params.strictSSL = false if (params.scheme == 'https') action = Https.request params else action = Http.request params action.on('response', (response) -> response.setEncoding 'utf8' if !window? data = "" response.on 'data', (chunk) -> data += chunk if chunk response.on 'end', () -> if response.statusCode > 299 callback(response, null) else if data.length > 0 try callback(null, JSON.parse data) catch error callback(data, null) else callback null, { result: "ok" } ) action.on 'error', (error) -> callback(error,null) action.write(params.body) if (params.body?) action.end()