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