https = require 'https' module.exports.request = ( options, success_handler, error_handler) -> req_data = if options.data? then JSON.stringify options.data else "" options['headers']['Content-length'] = req_data.length req = https.request options, (res) -> data = '' res.on 'data', (c) -> data += c res.on 'end', -> if 200 <= res.statusCode < 300 if success_handler? and data? success_handler JSON.parse data else if error_handler? error_handler res else console.log "Error: #{res.statusCode}\n#{data}" req.write(req_data) req.end()