From 67fdec20726e48ba3a934cb25bb30d47ec4a4f29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yaroslav=20De=20La=20Pe=C3=B1a=20Smirnov?= Date: Wed, 29 Nov 2017 11:44:34 +0300 Subject: Initial commit, version 0.5.3 --- node_modules/engine.io/lib/engine.io.js | 126 ++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 node_modules/engine.io/lib/engine.io.js (limited to 'node_modules/engine.io/lib/engine.io.js') diff --git a/node_modules/engine.io/lib/engine.io.js b/node_modules/engine.io/lib/engine.io.js new file mode 100644 index 0000000..2a211c2 --- /dev/null +++ b/node_modules/engine.io/lib/engine.io.js @@ -0,0 +1,126 @@ +/** + * Module dependencies. + */ + +var http = require('http'); + +/** + * Invoking the library as a function delegates to attach if the first argument + * is an `http.Server`. + * + * If there are no arguments or the first argument is an options object, then + * a new Server instance is returned. + * + * @param {http.Server} server (if specified, will be attached to by the new Server instance) + * @param {Object} options + * @return {Server} engine server + * @api public + */ + +exports = module.exports = function () { + // backwards compatible use as `.attach` + // if first argument is an http server + if (arguments.length && arguments[0] instanceof http.Server) { + return attach.apply(this, arguments); + } + + // if first argument is not an http server, then just make a regular eio server + return exports.Server.apply(null, arguments); +}; + +/** + * Protocol revision number. + * + * @api public + */ + +exports.protocol = 1; + +/** + * Expose Server constructor. + * + * @api public + */ + +exports.Server = require('./server'); + +/** + * Expose Socket constructor. + * + * @api public + */ + +exports.Socket = require('./socket'); + +/** + * Expose Transport constructor. + * + * @api public + */ + +exports.Transport = require('./transport'); + +/** + * Expose mutable list of available transports. + * + * @api public + */ + +exports.transports = require('./transports'); + +/** + * Exports parser. + * + * @api public + */ + +exports.parser = require('engine.io-parser'); + +/** + * Creates an http.Server exclusively used for WS upgrades. + * + * @param {Number} port + * @param {Function} callback + * @param {Object} options + * @return {Server} websocket.io server + * @api public + */ + +exports.listen = listen; + +function listen (port, options, fn) { + if ('function' === typeof options) { + fn = options; + options = {}; + } + + var server = http.createServer(function (req, res) { + res.writeHead(501); + res.end('Not Implemented'); + }); + + // create engine server + var engine = exports.attach(server, options); + engine.httpServer = server; + + server.listen(port, fn); + + return engine; +} + +/** + * Captures upgrade requests for a http.Server. + * + * @param {http.Server} server + * @param {Object} options + * @return {Server} engine server + * @api public + */ + +exports.attach = attach; + +function attach (server, options) { + var engine = new exports.Server(options); + engine.attach(server, options); + return engine; +} -- cgit v1.2.3