Sha256: 9134af07ea61bc9792f5e7fb2be1b946e23e1e8ca022fe149af448dffcff35da

Contents?: true

Size: 1.85 KB

Versions: 88

Compression:

Stored size: 1.85 KB

Contents

/**
 * Module dependencies.
 */

var EventEmitter = require('events').EventEmitter
  , parser = require('engine.io-parser')
  , debug = require('debug')('engine:transport');

/**
 * Expose the constructor.
 */

module.exports = Transport;

/**
 * Noop function.
 *
 * @api private
 */

function noop () {};

/**
 * Transport constructor.
 *
 * @param {http.ServerRequest} request
 * @api public
 */

function Transport (req) {
  this.readyState = 'opening';
};

/**
 * Inherits from EventEmitter.
 */

Transport.prototype.__proto__ = EventEmitter.prototype;

/**
 * Called with an incoming HTTP request.
 *
 * @param {http.ServerRequest} request
 * @api private
 */

Transport.prototype.onRequest = function (req) {
  debug('setting request');
  this.req = req;
};

/**
 * Closes the transport.
 *
 * @api private
 */

Transport.prototype.close = function (fn) {
  this.readyState = 'closing';
  this.doClose(fn || noop);
};

/**
 * Called with a transport error.
 *
 * @param {String} message error
 * @param {Object} error description
 * @api private
 */

Transport.prototype.onError = function (msg, desc) {
  if (this.listeners('error').length) {
    var err = new Error(msg);
    err.type = 'TransportError';
    err.description = desc;
    this.emit('error', err);
  } else {
    debug('ignored transport error %s (%s)', msg, desc);
  }
};

/**
 * Called with parsed out a packets from the data stream.
 *
 * @param {Object} packet
 * @api private
 */

Transport.prototype.onPacket = function (packet) {
  this.emit('packet', packet);
};

/**
 * Called with the encoded packet data.
 *
 * @param {String} data
 * @api private
 */

Transport.prototype.onData = function (data) {
  this.onPacket(parser.decodePacket(data));
};

/**
 * Called upon transport close.
 *
 * @api private
 */

Transport.prototype.onClose = function () {
  this.readyState = 'closed';
  this.emit('close');
};

Version data entries

88 entries across 88 versions & 2 rubygems

Version Path
flok-0.0.105 spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transport.js
flok-0.0.103 spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transport.js
flok-0.0.102 spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transport.js
gulp_assets-1.0.0.pre.5 template/node_modules/webpack-dev-server/node_modules/socket.io/node_modules/engine.io/lib/transport.js
gulp_assets-1.0.0.pre.4 template/node_modules/webpack-dev-server/node_modules/socket.io/node_modules/engine.io/lib/transport.js
gulp_assets-1.0.0.pre.3 template/node_modules/webpack-dev-server/node_modules/socket.io/node_modules/engine.io/lib/transport.js
flok-0.0.101 spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transport.js
flok-0.0.100 spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transport.js
flok-0.0.99 spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transport.js
flok-0.0.98 spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transport.js
flok-0.0.97 spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transport.js
flok-0.0.96 spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transport.js
flok-0.0.95 spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transport.js
flok-0.0.94 spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transport.js
flok-0.0.93 spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transport.js
flok-0.0.92 spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transport.js
flok-0.0.91 spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transport.js
flok-0.0.90 spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transport.js
flok-0.0.89 spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transport.js
flok-0.0.88 spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transport.js