/*! * socket.io-node * Copyright(c) 2011 LearnBoost * MIT Licensed */ /** * Module requirements. */ var protocolVersions = require('./websocket/'); /** * Export the constructor. */ exports = module.exports = WebSocket; /** * HTTP interface constructor. Interface compatible with all transports that * depend on request-response cycles. * * @api public */ function WebSocket (mng, data, req) { var transport , version = req.headers['sec-websocket-version']; if (typeof version !== 'undefined' && typeof protocolVersions[version] !== 'undefined') { transport = new protocolVersions[version](mng, data, req); } else transport = new protocolVersions['default'](mng, data, req); if (typeof this.name !== 'undefined') transport.name = this.name; return transport; };