var onRequestResponse = function(cb, err, res, body) { if (err) emitter.next(onRequestError, err, res, body); else emitter.next(onValidateResponse, cb, err, res, body); }
var onEachData = function(data) { try { let parsed = JSON.parse(data); emitter.next(onJSONData, parsed); } catch (e) { emitter.next(onStringData, data); } emitter.trigger('tcp:data', data); };
var tcpConnect = function (args) { emitter.next( typeof args == "string" ? parseConnect.bind(this, args) : doConnect.bind(this, args)); };
var parseConnect = function (url) { let args = url.split(':'); emitter.next(doConnect.bind(this, { host: args[0], port: args[1] })); };
var onValidateResponse = function(cb, err, res, body) { let key = 'request:' + res.request.uri.host + '' + res.request.uri.path + ':' + res.statusCode ; if (res.statusCode != 200) emitter.next(onRequestError, err, res); else (cb && setTimeout(cb.bind(this, err, res, body), 0)); console.log('<- ', key); emitter.trigger(key); }
data.split('\\').forEach(function (item) { if (item) emitter.next(onEachData, item); });