| /** | |
| * 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); | |
| } | |
| } |