First commit
This commit is contained in:
41
hGameTest/node_modules/sockjs-client/lib/transport/xhr-streaming.js
generated
vendored
Normal file
41
hGameTest/node_modules/sockjs-client/lib/transport/xhr-streaming.js
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
'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')
|
||||
, browser = require('../utils/browser')
|
||||
;
|
||||
|
||||
function XhrStreamingTransport(transUrl) {
|
||||
if (!XHRLocalObject.enabled && !XHRCorsObject.enabled) {
|
||||
throw new Error('Transport created when disabled');
|
||||
}
|
||||
AjaxBasedTransport.call(this, transUrl, '/xhr_streaming', XhrReceiver, XHRCorsObject);
|
||||
}
|
||||
|
||||
inherits(XhrStreamingTransport, AjaxBasedTransport);
|
||||
|
||||
XhrStreamingTransport.enabled = function(info) {
|
||||
if (info.nullOrigin) {
|
||||
return false;
|
||||
}
|
||||
// Opera doesn't support xhr-streaming #60
|
||||
// But it might be able to #92
|
||||
if (browser.isOpera()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return XHRCorsObject.enabled;
|
||||
};
|
||||
|
||||
XhrStreamingTransport.transportName = 'xhr-streaming';
|
||||
XhrStreamingTransport.roundTrips = 2; // preflight, ajax
|
||||
|
||||
// Safari gets confused when a streaming ajax request is started
|
||||
// before onload. This causes the load indicator to spin indefinetely.
|
||||
// Only require body when used in a browser
|
||||
XhrStreamingTransport.needBody = !!global.document;
|
||||
|
||||
module.exports = XhrStreamingTransport;
|
||||
Reference in New Issue
Block a user