/** * Module dependencies. */ var XHR = require('./polling-xhr'); var JSONP = require('./polling-jsonp'); /** * Export transports. */ module.exports = exports = { polling: polling, websocket: require('./websocket') }; /** * Export upgrades map. */ exports.polling.upgradesTo = ['websocket']; /** * Polling polymorphic constructor. * * @api private */ function polling (req) { if ('string' === typeof req._query.j) { return new JSONP(req); } else { return new XHR(req); } }