mirror of
https://github.com/fooflington/selfdefined.git
synced 2025-06-12 05:31:41 +00:00
update
This commit is contained in:
94
node_modules/socket.io-client/lib/index.js
generated
vendored
Normal file
94
node_modules/socket.io-client/lib/index.js
generated
vendored
Normal file
@ -0,0 +1,94 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var url = require('./url');
|
||||
var parser = require('socket.io-parser');
|
||||
var Manager = require('./manager');
|
||||
var debug = require('debug')('socket.io-client');
|
||||
|
||||
/**
|
||||
* Module exports.
|
||||
*/
|
||||
|
||||
module.exports = exports = lookup;
|
||||
|
||||
/**
|
||||
* Managers cache.
|
||||
*/
|
||||
|
||||
var cache = exports.managers = {};
|
||||
|
||||
/**
|
||||
* Looks up an existing `Manager` for multiplexing.
|
||||
* If the user summons:
|
||||
*
|
||||
* `io('http://localhost/a');`
|
||||
* `io('http://localhost/b');`
|
||||
*
|
||||
* We reuse the existing instance based on same scheme/port/host,
|
||||
* and we initialize sockets for each namespace.
|
||||
*
|
||||
* @api public
|
||||
*/
|
||||
|
||||
function lookup (uri, opts) {
|
||||
if (typeof uri === 'object') {
|
||||
opts = uri;
|
||||
uri = undefined;
|
||||
}
|
||||
|
||||
opts = opts || {};
|
||||
|
||||
var parsed = url(uri);
|
||||
var source = parsed.source;
|
||||
var id = parsed.id;
|
||||
var path = parsed.path;
|
||||
var sameNamespace = cache[id] && path in cache[id].nsps;
|
||||
var newConnection = opts.forceNew || opts['force new connection'] ||
|
||||
false === opts.multiplex || sameNamespace;
|
||||
|
||||
var io;
|
||||
|
||||
if (newConnection) {
|
||||
debug('ignoring socket cache for %s', source);
|
||||
io = Manager(source, opts);
|
||||
} else {
|
||||
if (!cache[id]) {
|
||||
debug('new io instance for %s', source);
|
||||
cache[id] = Manager(source, opts);
|
||||
}
|
||||
io = cache[id];
|
||||
}
|
||||
if (parsed.query && !opts.query) {
|
||||
opts.query = parsed.query;
|
||||
}
|
||||
return io.socket(parsed.path, opts);
|
||||
}
|
||||
|
||||
/**
|
||||
* Protocol version.
|
||||
*
|
||||
* @api public
|
||||
*/
|
||||
|
||||
exports.protocol = parser.protocol;
|
||||
|
||||
/**
|
||||
* `connect`.
|
||||
*
|
||||
* @param {String} uri
|
||||
* @api public
|
||||
*/
|
||||
|
||||
exports.connect = lookup;
|
||||
|
||||
/**
|
||||
* Expose constructors for standalone build.
|
||||
*
|
||||
* @api public
|
||||
*/
|
||||
|
||||
exports.Manager = require('./manager');
|
||||
exports.Socket = require('./socket');
|
Reference in New Issue
Block a user