You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
894 B
34 lines
894 B
4 years ago
|
'use strict';
|
||
|
|
||
|
var inherits = require('inherits')
|
||
|
, AjaxBasedTransport = require('./lib/ajax-based')
|
||
|
, XhrReceiver = require('./receiver/xhr')
|
||
|
, XHRCorsObject = require('./sender/xhr-cors')
|
||
|
, XHRLocalObject = require('./sender/xhr-local')
|
||
|
;
|
||
|
|
||
|
function XhrPollingTransport(transUrl) {
|
||
|
if (!XHRLocalObject.enabled && !XHRCorsObject.enabled) {
|
||
|
throw new Error('Transport created when disabled');
|
||
|
}
|
||
|
AjaxBasedTransport.call(this, transUrl, '/xhr', XhrReceiver, XHRCorsObject);
|
||
|
}
|
||
|
|
||
|
inherits(XhrPollingTransport, AjaxBasedTransport);
|
||
|
|
||
|
XhrPollingTransport.enabled = function(info) {
|
||
|
if (info.nullOrigin) {
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
if (XHRLocalObject.enabled && info.sameOrigin) {
|
||
|
return true;
|
||
|
}
|
||
|
return XHRCorsObject.enabled;
|
||
|
};
|
||
|
|
||
|
XhrPollingTransport.transportName = 'xhr-polling';
|
||
|
XhrPollingTransport.roundTrips = 2; // preflight, ajax
|
||
|
|
||
|
module.exports = XhrPollingTransport;
|