Sha256: 326bde72930f95aaffb18c57d15953de5f62f623f831257b69d6aae8d019d362
Contents?: true
Size: 1.01 KB
Versions: 34
Compression:
Stored size: 1.01 KB
Contents
'use strict'; var EventEmitter = require('events').EventEmitter , inherits = require('inherits') , JSON3 = require('json3') , objectUtils = require('./utils/object') ; var debug = function() {}; if (process.env.NODE_ENV !== 'production') { debug = require('debug')('sockjs-client:info-ajax'); } function InfoAjax(url, AjaxObject) { EventEmitter.call(this); var self = this; var t0 = +new Date(); this.xo = new AjaxObject('GET', url); this.xo.once('finish', function(status, text) { var info, rtt; if (status === 200) { rtt = (+new Date()) - t0; if (text) { try { info = JSON3.parse(text); } catch (e) { debug('bad json', text); } } if (!objectUtils.isObject(info)) { info = {}; } } self.emit('finish', info, rtt); self.removeAllListeners(); }); } inherits(InfoAjax, EventEmitter); InfoAjax.prototype.close = function() { this.removeAllListeners(); this.xo.close(); }; module.exports = InfoAjax;
Version data entries
34 entries across 33 versions & 12 rubygems