[Pkg-javascript-commits] [sockjs-client] 95/350: More reorg and iframe bootstrap is dynamic-ish

tonnerre at ancient-solutions.com tonnerre at ancient-solutions.com
Fri Aug 5 01:03:46 UTC 2016


This is an automated email from the git hooks/post-receive script.

tonnerre-guest pushed a commit to branch upstream
in repository sockjs-client.

commit 6c8409e845724404bf67b350b0e1e73c9ae626d2
Author: Bryce Kahle <bkahle at gmail.com>
Date:   Thu Oct 9 00:26:30 2014 -0400

    More reorg and iframe bootstrap is dynamic-ish
---
 lib/iframe-bootstrap.js                            | 15 +++++++++++---
 lib/info-receiver-iframe.js                        | 16 ++++++++-------
 lib/info-receiver.js                               | 23 +++++++++++++---------
 lib/main.js                                        | 10 +++++++---
 lib/transport/{lib => facade}/eventsource.js       |  8 +++++---
 lib/transport/{lib => facade}/htmlfile.js          |  8 +++++---
 lib/{ => transport}/facade/info-receiver-iframe.js | 12 ++++++-----
 .../{lib => facade}/xhr-polling-iframe.js          |  9 +++++----
 lib/transport/iframe-eventsource.js                |  9 +++++----
 lib/transport/iframe-htmlfile.js                   |  7 ++++---
 lib/transport/iframe-xhr-polling.js                |  9 +++++----
 lib/transport/jsonp-polling.js                     |  2 +-
 lib/transport/lib/buffered-sender.js               |  2 +-
 lib/{ => transport/lib}/closeevent.js              |  2 +-
 lib/transport/lib/iframe.js                        | 17 ++++++++--------
 lib/transport/lib/polling.js                       |  4 ++--
 lib/{ => transport/lib}/trans-message-event.js     |  2 +-
 .../eventsource.js}                                |  0
 .../receiver-htmlfile.js => receiver/htmlfile.js}  |  0
 .../{lib/receiver-xhr.js => receiver/xhr.js}       |  0
 lib/{ => transport/sender}/abstract-xhr.js         |  2 +-
 lib/{ => transport/sender}/xdr.js                  |  2 +-
 lib/{ => transport/sender}/xhr-cors.js             |  0
 lib/{ => transport/sender}/xhr-fake.js             |  0
 lib/{ => transport/sender}/xhr-local.js            |  0
 lib/transport/websocket.js                         |  4 ++--
 lib/transport/xdr-polling.js                       |  4 ++--
 lib/transport/xdr-streaming.js                     |  4 ++--
 lib/transport/xhr-polling.js                       |  4 ++--
 lib/transport/xhr-streaming.js                     |  4 ++--
 lib/transports.js                                  | 10 ++++++++--
 31 files changed, 112 insertions(+), 77 deletions(-)

diff --git a/lib/iframe-bootstrap.js b/lib/iframe-bootstrap.js
index b498513..2966898 100644
--- a/lib/iframe-bootstrap.js
+++ b/lib/iframe-bootstrap.js
@@ -3,9 +3,18 @@
 var utils = require('./utils')
   , JSON3 = require('json3')
   , FacadeJS = require('./facade')
+  , InfoIframeFacade = require('./transport/facade/info-receiver-iframe')
   ;
 
-module.exports = function (SockJS) {
+module.exports = function (SockJS, facadeTransports) {
+  var transportMap = {};
+  for (var i = 0; i < facadeTransports.length; i++) {
+    transportMap[facadeTransports[i].name] = facadeTransports[i];
+  }
+  // hard-coded for the info iframe
+  // TODO see if we can make this more dynamic
+  transportMap[InfoIframeFacade.transportName] = InfoIframeFacade;
+
   /* eslint-disable camelcase */
   SockJS.bootstrap_iframe = function() {
     /* eslint-enable camelcase */
@@ -32,7 +41,7 @@ module.exports = function (SockJS) {
       case 's':
         var p = JSON3.parse(data);
         var version = p[0];
-        var protocol = p[1];
+        var transport = p[1];
         var transUrl = p[2];
         var baseUrl = p[3];
         // change this to semver logic
@@ -53,7 +62,7 @@ module.exports = function (SockJS) {
                     ')');
           return;
         }
-        facade = new FacadeJS(new FacadeJS[protocol](transUrl, baseUrl));
+        facade = new FacadeJS(new transportMap[transport](transUrl, baseUrl));
         break;
       case 'm':
         facade._send(data);
diff --git a/lib/info-receiver-iframe.js b/lib/info-receiver-iframe.js
index 86939b5..a537f3c 100644
--- a/lib/info-receiver-iframe.js
+++ b/lib/info-receiver-iframe.js
@@ -7,16 +7,15 @@ var EventEmitter = require('events').EventEmitter
   , IframeTransport = require('./transport/lib/iframe')
   ;
 
-function InfoReceiverIframe(baseUrl) {
+function InfoReceiverIframe(method, url) {
   var self = this;
   EventEmitter.call(this);
 
   var go = function() {
-    var ifr = new IframeTransport();
-    ifr.protocol = 'w-iframe-info-receiver';
-    var fun = function(r) {
-      if (typeof r === 'string' && r.substr(0,1) === 'm') {
-        var d = JSON3.parse(r.substr(1));
+    var ifr = new IframeTransport('w-iframe-info-receiver', url, url);
+    var fun = function(e) {
+      if (e.data && e.data.substr(0,1) === 'm') {
+        var d = JSON3.parse(e.data.substr(1));
         var info = d[0], rtt = d[1];
         self.emit('finish', info, rtt);
       } else {
@@ -26,7 +25,6 @@ function InfoReceiverIframe(baseUrl) {
       ifr = null;
     };
     ifr.onmessage = ifr.onclose = fun;
-    ifr.start(baseUrl, baseUrl);
   };
   if (!global.document.body) {
     utils.attachEvent('load', go);
@@ -37,4 +35,8 @@ function InfoReceiverIframe(baseUrl) {
 
 util.inherits(InfoReceiverIframe, EventEmitter);
 
+InfoReceiverIframe.prototype.close = function () {
+  // TODO maybe cleanup ifr?
+};
+
 module.exports = InfoReceiverIframe;
diff --git a/lib/info-receiver.js b/lib/info-receiver.js
index 45b511d..11ab0ae 100644
--- a/lib/info-receiver.js
+++ b/lib/info-receiver.js
@@ -5,13 +5,14 @@ var EventEmitter = require('events').EventEmitter
   , utils = require('./utils')
   , JSON3 = require('json3')
   , loc = require('./polyfills/location')
-  , XHRCors = require('./xhr-cors')
-  , XHRLocal = require('./xhr-local')
-  , XDR = require('./xdr')
-  , XHRFake = require('./xhr-fake')
+  , XHRCors = require('./transport/sender/xhr-cors')
+  , XHRLocal = require('./transport/sender/xhr-local')
+  , XDR = require('./transport/sender/xdr')
+  , XHRFake = require('./transport/sender/xhr-fake')
   // it seems odd to include these just for the 'enabled' function
   , XDRPolling = require('./transport/xdr-polling')
-  //, IframeTransport = require('./transport/lib/iframe')
+  , IframeTransport = require('./transport/lib/iframe')
+  , InfoIframe = require('./info-receiver-iframe')
   ;
 
 function InfoReceiver(baseUrl) {
@@ -25,9 +26,9 @@ function InfoReceiver(baseUrl) {
     AjaxObject = XHRLocal;
   } else if (XDRPolling.enabled(baseUrl)) {
     AjaxObject = XDR;
-  } //else if (IframeTransport.enabled()) {
-    //AjaxObject = IframeXHR;
-  //}
+  } else if (IframeTransport.enabled()) {
+    AjaxObject = InfoIframe;
+  }
 
   process.nextTick(function(){
     self.doXhr(baseUrl, AjaxObject);
@@ -61,7 +62,11 @@ InfoReceiver.prototype.doXhr = function(baseUrl, AjaxObject) {
         info = {};
       }
       self.emit('finish', info, rtt);
-    } else {
+    } else if (typeof status === 'object' && typeof text === 'number') {
+      // pass through data
+      self.emit('finish', status, text);
+    }
+     else {
       self.emit('finish');
     }
   });
diff --git a/lib/main.js b/lib/main.js
index df6b245..55fcb64 100644
--- a/lib/main.js
+++ b/lib/main.js
@@ -9,7 +9,7 @@ var u = require('url')
   , InvalidAccessError = require('./error/invalidaccesserror')
   , InvalidStateError = require('./error/invalidstateerror')
   , Event = require('./polyfills/event')
-  , CloseEvent = require('./closeevent')
+  , CloseEvent = require('./transport/lib/closeevent')
   , EventTarget = require('./polyfills/eventtarget')
   , loc = require('./polyfills/location')
   , InfoReceiver = require('./info-receiver')
@@ -136,7 +136,12 @@ SockJS.prototype._receiveInfo = function(info, rtt) {
   this._transUrl = info.base_url ? info.base_url : this.url;
   info.nullOrigin = !document.domain;
   // determine list of desired and supported transports
-  this._transports = transports(this.url, this._transportsWhitelist, info);
+  var enabledTransports = transports(this.url, this._transportsWhitelist, info);
+  this._transports = enabledTransports.main;
+
+  // setup iframe bootstrap
+  require('./iframe-bootstrap')(SockJS, enabledTransports.facade);
+
   this._connect();
 };
 
@@ -261,6 +266,5 @@ SockJS.prototype._close = function(code, reason, wasClean) {
 
 module.exports = function (availableTransports) {
   transports = require('./transports')(availableTransports);
-  require('./iframe-bootstrap')(SockJS);
   return SockJS;
 };
diff --git a/lib/transport/lib/eventsource.js b/lib/transport/facade/eventsource.js
similarity index 55%
rename from lib/transport/lib/eventsource.js
rename to lib/transport/facade/eventsource.js
index 21fab00..aba9586 100644
--- a/lib/transport/lib/eventsource.js
+++ b/lib/transport/facade/eventsource.js
@@ -1,9 +1,9 @@
 'use strict';
 
 var util = require('util')
-  , AjaxBasedTransport = require('./ajax-based')
-  , EventSourceReceiver = require('./receiver-eventsource')
-  , XHRLocalObject = require('../../xhr-local')
+  , AjaxBasedTransport = require('../lib/ajax-based')
+  , EventSourceReceiver = require('../receiver/eventsource')
+  , XHRLocalObject = require('../sender/xhr-local')
   ;
 
 function EventSourceTransport(transUrl) {
@@ -12,4 +12,6 @@ function EventSourceTransport(transUrl) {
 
 util.inherits(EventSourceTransport, AjaxBasedTransport);
 
+EventSourceTransport.transportName = 'w-iframe-eventsource';
+
 module.exports = EventSourceTransport;
diff --git a/lib/transport/lib/htmlfile.js b/lib/transport/facade/htmlfile.js
similarity index 55%
rename from lib/transport/lib/htmlfile.js
rename to lib/transport/facade/htmlfile.js
index 26c8fff..81ae9b7 100644
--- a/lib/transport/lib/htmlfile.js
+++ b/lib/transport/facade/htmlfile.js
@@ -1,9 +1,9 @@
 'use strict';
 
 var util = require('util')
-  , HtmlfileReceiver = require('./receiver-htmlfile')
-  , XHRLocalObject = require('../../xhr-local')
-  , AjaxBasedTransport = require('./ajax-based')
+  , HtmlfileReceiver = require('../receiver/htmlfile')
+  , XHRLocalObject = require('../sender/xhr-local')
+  , AjaxBasedTransport = require('../lib/ajax-based')
   ;
 
 function HtmlFileTransport(transUrl) {
@@ -12,4 +12,6 @@ function HtmlFileTransport(transUrl) {
 
 util.inherits(HtmlFileTransport, AjaxBasedTransport);
 
+HtmlFileTransport.transportName = 'w-iframe-htmlfile';
+
 module.exports = HtmlFileTransport;
diff --git a/lib/facade/info-receiver-iframe.js b/lib/transport/facade/info-receiver-iframe.js
similarity index 61%
rename from lib/facade/info-receiver-iframe.js
rename to lib/transport/facade/info-receiver-iframe.js
index fc5701c..ee59524 100644
--- a/lib/facade/info-receiver-iframe.js
+++ b/lib/transport/facade/info-receiver-iframe.js
@@ -1,12 +1,12 @@
 'use strict';
 
-var XHRLocalObject = require('../xhr-local')
+var XHRLocalObject = require('../sender/xhr-local')
   , JSON3 = require('json3')
-  , InfoReceiver = require('../info-receiver')
+  , InfoReceiver = require('../../info-receiver')
   , util = require('util')
-  , EventTarget = require('../polyfills/eventtarget')
-  , TransportMessageEvent = require('../trans-message-event')
-  , CloseEvent = require('../closeevent')
+  , EventTarget = require('../../polyfills/eventtarget')
+  , TransportMessageEvent = require('../lib/trans-message-event')
+  , CloseEvent = require('../lib/closeevent')
   ;
 
 function WInfoReceiverIframe(transUrl, baseUrl) {
@@ -21,6 +21,8 @@ function WInfoReceiverIframe(transUrl, baseUrl) {
 
 util.inherits(WInfoReceiverIframe, EventTarget);
 
+WInfoReceiverIframe.transportName = 'w-iframe-info-receiver';
+
 WInfoReceiverIframe.prototype.close = function() {};
 
 module.exports = WInfoReceiverIframe;
diff --git a/lib/transport/lib/xhr-polling-iframe.js b/lib/transport/facade/xhr-polling-iframe.js
similarity index 56%
rename from lib/transport/lib/xhr-polling-iframe.js
rename to lib/transport/facade/xhr-polling-iframe.js
index 672386d..da86150 100644
--- a/lib/transport/lib/xhr-polling-iframe.js
+++ b/lib/transport/facade/xhr-polling-iframe.js
@@ -1,16 +1,17 @@
 'use strict';
 
 var util = require('util')
-  , XhrReceiver = require('./receiver-xhr')
-  , XHRLocalObject = require('./xhr-local')
-  , AjaxBasedTransport = require('../../ajax-based')
+  , XhrReceiver = require('../receiver/xhr')
+  , XHRLocalObject = require('../sender/xhr-local')
+  , AjaxBasedTransport = require('../lib/ajax-based')
   ;
 
-// w-iframe-xhr-polling
 function XhrPollingITransport(ri, transUrl) {
   AjaxBasedTransport.call(this, transUrl, '/xhr', XhrReceiver, XHRLocalObject);
 }
 
 util.inherits(XhrPollingITransport, AjaxBasedTransport);
 
+XhrPollingITransport.transportName = 'w-iframe-xhr-polling';
+
 module.exports = XhrPollingITransport;
diff --git a/lib/transport/iframe-eventsource.js b/lib/transport/iframe-eventsource.js
index ccab083..0e48d9a 100644
--- a/lib/transport/iframe-eventsource.js
+++ b/lib/transport/iframe-eventsource.js
@@ -4,19 +4,20 @@ var util = require('util')
   , IframeTransport = require('./lib/iframe')
   ;
 
-function EventSourceIframeTransport() {
-  this.protocol = 'w-iframe-eventsource';
-  this.start.apply(this, arguments);
+function EventSourceIframeTransport(transUrl, baseUrl) {
+  IframeTransport.call(this, 'w-iframe-eventsource', transUrl, baseUrl);
 }
 
 util.inherits(EventSourceIframeTransport, IframeTransport);
 
 EventSourceIframeTransport.enabled = function () {
-  return ('EventSource' in window) && IframeTransport.enabled();
+  return ('EventSource' in global) && IframeTransport.enabled();
 };
 
 EventSourceIframeTransport.transportName = 'iframe-eventsource';
 EventSourceIframeTransport.needBody = true;
 EventSourceIframeTransport.roundTrips = 3; // html, javascript, eventsource
 
+EventSourceIframeTransport.facadeTransport = require('./facade/eventsource');
+
 module.exports = EventSourceIframeTransport;
diff --git a/lib/transport/iframe-htmlfile.js b/lib/transport/iframe-htmlfile.js
index 9e443bd..c48403e 100644
--- a/lib/transport/iframe-htmlfile.js
+++ b/lib/transport/iframe-htmlfile.js
@@ -9,9 +9,8 @@ var util = require('util')
   , IframeTransport = require('./lib/iframe')
   ;
 
-function HtmlFileIframeTransport() {
-  this.protocol = 'w-iframe-htmlfile';
-  this.start.apply(this, arguments);
+function HtmlFileIframeTransport(transUrl, baseUrl) {
+  IframeTransport.call(this, 'w-iframe-htmlfile', transUrl, baseUrl);
 }
 
 util.inherits(HtmlFileIframeTransport, IframeTransport);
@@ -24,4 +23,6 @@ HtmlFileIframeTransport.transportName = 'iframe-htmlfile';
 HtmlFileIframeTransport.needBody = true;
 HtmlFileIframeTransport.roundTrips = 3; // html, javascript, htmlfile
 
+HtmlFileIframeTransport.facadeTransport = require('./facade/htmlfile');
+
 module.exports = HtmlFileIframeTransport;
diff --git a/lib/transport/iframe-xhr-polling.js b/lib/transport/iframe-xhr-polling.js
index a22d29d..43fa15a 100644
--- a/lib/transport/iframe-xhr-polling.js
+++ b/lib/transport/iframe-xhr-polling.js
@@ -4,19 +4,20 @@ var util = require('util')
   , IframeTransport = require('./lib/iframe')
   ;
 
-function XhrPollingIframeTransport() {
-  this.protocol = 'w-iframe-xhr-polling';
-  this.start.apply(this, arguments);
+function XhrPollingIframeTransport(transUrl, baseUrl) {
+  IframeTransport.call(this, 'w-iframe-xhr-polling', transUrl, baseUrl);
 }
 
 util.inherits(XhrPollingIframeTransport, IframeTransport);
 
 XhrPollingIframeTransport.enabled = function () {
-  return window.XMLHttpRequest && IframeTransport.enabled();
+  return global.XMLHttpRequest && IframeTransport.enabled();
 };
 
 XhrPollingIframeTransport.transportName = 'iframe-xhr-polling';
 XhrPollingIframeTransport.needBody = true;
 XhrPollingIframeTransport.roundTrips = 3; // html, javascript, xhr
 
+XhrPollingIframeTransport.facadeTransport = require('./facade/xhr-polling-iframe');
+
 module.exports = XhrPollingIframeTransport;
diff --git a/lib/transport/jsonp-polling.js b/lib/transport/jsonp-polling.js
index 6e42fa3..492e872 100644
--- a/lib/transport/jsonp-polling.js
+++ b/lib/transport/jsonp-polling.js
@@ -11,7 +11,7 @@
 var util = require('util')
   , utils = require('../utils')
   , BufferedSender = require('./lib/buffered-sender')
-  , TransportMessageEvent = require('../trans-message-event')
+  , TransportMessageEvent = require('./lib/trans-message-event')
   ;
 
 // Abstract away code that handles global namespace pollution.
diff --git a/lib/transport/lib/buffered-sender.js b/lib/transport/lib/buffered-sender.js
index 4853534..86e870d 100644
--- a/lib/transport/lib/buffered-sender.js
+++ b/lib/transport/lib/buffered-sender.js
@@ -2,7 +2,7 @@
 
 var util = require('util')
   , EventTarget = require('../../polyfills/eventtarget')
-  , CloseEvent = require('../../closeevent')
+  , CloseEvent = require('./closeevent')
   ;
 
 function BufferedSender(url, sender) {
diff --git a/lib/closeevent.js b/lib/transport/lib/closeevent.js
similarity index 85%
rename from lib/closeevent.js
rename to lib/transport/lib/closeevent.js
index de9a51b..c638a5c 100644
--- a/lib/closeevent.js
+++ b/lib/transport/lib/closeevent.js
@@ -1,7 +1,7 @@
 'use strict';
 
 var util = require('util')
-  , Event = require('./polyfills/event')
+  , Event = require('../../polyfills/event')
   ;
 
 function CloseEvent() {
diff --git a/lib/transport/lib/iframe.js b/lib/transport/lib/iframe.js
index 082b916..be0ba00 100644
--- a/lib/transport/lib/iframe.js
+++ b/lib/transport/lib/iframe.js
@@ -10,23 +10,20 @@
 
 var util = require('util')
   , EventTarget = require('../../polyfills/eventtarget')
-  , CloseEvent = require('../../closeevent')
-  , TransportMessageEvent = require('../../trans-message-event')
+  , CloseEvent = require('./closeevent')
+  , TransportMessageEvent = require('./trans-message-event')
   , JSON3 = require('json3')
   , utils = require('../../utils')
   ;
 
-function IframeTransport() {
+function IframeTransport(transport, transUrl, baseUrl) {
   EventTarget.call(this);
-}
-
-util.inherits(IframeTransport, EventTarget);
 
-IframeTransport.prototype.start = function(transUrl, baseUrl) {
   var self = this;
   this.origin = utils.getOrigin(baseUrl);
   this.baseUrl = baseUrl;
   this.transUrl = transUrl;
+  this.transport = transport;
 
   var iframeUrl = baseUrl + '/iframe.html';
   // TODO figure out how to get this info again
@@ -45,7 +42,9 @@ IframeTransport.prototype.start = function(transUrl, baseUrl) {
 
   this.onmessageCallback = this._message.bind(this);
   utils.attachMessage(this.onmessageCallback);
-};
+}
+
+util.inherits(IframeTransport, EventTarget);
 
 IframeTransport.prototype.close = function() {
   if (this.iframeObj) {
@@ -80,7 +79,7 @@ IframeTransport.prototype._message = function(e) {
     // window global dependency
     this.postMessage('s', JSON3.stringify([
       global.SockJS.version
-    , this.protocol
+    , this.transport
     , this.transUrl
     , this.baseUrl
     ]));
diff --git a/lib/transport/lib/polling.js b/lib/transport/lib/polling.js
index efde094..36d75d8 100644
--- a/lib/transport/lib/polling.js
+++ b/lib/transport/lib/polling.js
@@ -2,8 +2,8 @@
 
 var util = require('util')
   , EventTarget = require('../../polyfills/eventtarget')
-  , TransMessageEvent = require('../../trans-message-event')
-  , CloseEvent = require('../../closeevent')
+  , TransMessageEvent = require('./trans-message-event')
+  , CloseEvent = require('./closeevent')
   ;
 
 function Polling(Receiver, receiveUrl, AjaxObject) {
diff --git a/lib/trans-message-event.js b/lib/transport/lib/trans-message-event.js
similarity index 85%
rename from lib/trans-message-event.js
rename to lib/transport/lib/trans-message-event.js
index 69935ef..62e7b39 100644
--- a/lib/trans-message-event.js
+++ b/lib/transport/lib/trans-message-event.js
@@ -1,7 +1,7 @@
 'use strict';
 
 var util = require('util')
-  , Event = require('./polyfills/event')
+  , Event = require('../../polyfills/event')
   ;
 
 function TransportMessageEvent(data) {
diff --git a/lib/transport/lib/receiver-eventsource.js b/lib/transport/receiver/eventsource.js
similarity index 100%
rename from lib/transport/lib/receiver-eventsource.js
rename to lib/transport/receiver/eventsource.js
diff --git a/lib/transport/lib/receiver-htmlfile.js b/lib/transport/receiver/htmlfile.js
similarity index 100%
rename from lib/transport/lib/receiver-htmlfile.js
rename to lib/transport/receiver/htmlfile.js
diff --git a/lib/transport/lib/receiver-xhr.js b/lib/transport/receiver/xhr.js
similarity index 100%
rename from lib/transport/lib/receiver-xhr.js
rename to lib/transport/receiver/xhr.js
diff --git a/lib/abstract-xhr.js b/lib/transport/sender/abstract-xhr.js
similarity index 98%
rename from lib/abstract-xhr.js
rename to lib/transport/sender/abstract-xhr.js
index de79385..a20b8d3 100644
--- a/lib/abstract-xhr.js
+++ b/lib/transport/sender/abstract-xhr.js
@@ -2,7 +2,7 @@
 
 var EventEmitter = require('events').EventEmitter
   , util = require('util')
-  , utils = require('./utils')
+  , utils = require('../../utils')
   ;
 
 function AbstractXHRObject(method, url, payload, opts) {
diff --git a/lib/xdr.js b/lib/transport/sender/xdr.js
similarity index 97%
rename from lib/xdr.js
rename to lib/transport/sender/xdr.js
index 12e7cff..fd5bd32 100644
--- a/lib/xdr.js
+++ b/lib/transport/sender/xdr.js
@@ -2,7 +2,7 @@
 
 var EventEmitter = require('events').EventEmitter
   , util = require('util')
-  , utils = require('./utils')
+  , utils = require('../../utils')
   ;
 
 // References:
diff --git a/lib/xhr-cors.js b/lib/transport/sender/xhr-cors.js
similarity index 100%
rename from lib/xhr-cors.js
rename to lib/transport/sender/xhr-cors.js
diff --git a/lib/xhr-fake.js b/lib/transport/sender/xhr-fake.js
similarity index 100%
rename from lib/xhr-fake.js
rename to lib/transport/sender/xhr-fake.js
diff --git a/lib/xhr-local.js b/lib/transport/sender/xhr-local.js
similarity index 100%
rename from lib/xhr-local.js
rename to lib/transport/sender/xhr-local.js
diff --git a/lib/transport/websocket.js b/lib/transport/websocket.js
index a922e87..5bf786c 100644
--- a/lib/transport/websocket.js
+++ b/lib/transport/websocket.js
@@ -3,8 +3,8 @@
 var utils = require('../utils')
   , util = require('util')
   , EventTarget = require('../polyfills/eventtarget')
-  , TransportMessageEvent = require('../trans-message-event')
-  , CloseEvent = require('../closeevent')
+  , TransportMessageEvent = require('./lib/trans-message-event')
+  , CloseEvent = require('./lib/closeevent')
   ;
 
 function WebSocketTransport(transUrl) {
diff --git a/lib/transport/xdr-polling.js b/lib/transport/xdr-polling.js
index bd76c73..34f717d 100644
--- a/lib/transport/xdr-polling.js
+++ b/lib/transport/xdr-polling.js
@@ -3,8 +3,8 @@
 var util = require('util')
   , AjaxBasedTransport = require('./lib/ajax-based')
   , XdrStreamingTransport = require('./xdr-streaming')
-  , XhrReceiver = require('./lib/receiver-xhr')
-  , XDRObject = require('../xdr')
+  , XhrReceiver = require('./receiver/xhr')
+  , XDRObject = require('./sender/xdr')
   ;
 
 function XdrPollingTransport(ri, transUrl) {
diff --git a/lib/transport/xdr-streaming.js b/lib/transport/xdr-streaming.js
index 9c8745c..260a70c 100644
--- a/lib/transport/xdr-streaming.js
+++ b/lib/transport/xdr-streaming.js
@@ -2,8 +2,8 @@
 
 var util = require('util')
   , AjaxBasedTransport = require('./lib/ajax-based')
-  , XhrReceiver = require('./lib/receiver-xhr')
-  , XDRObject = require('../xdr')
+  , XhrReceiver = require('./receiver/xhr')
+  , XDRObject = require('./sender/xdr')
   , utils = require('../utils')
   ;
 
diff --git a/lib/transport/xhr-polling.js b/lib/transport/xhr-polling.js
index e507aef..d4822c5 100644
--- a/lib/transport/xhr-polling.js
+++ b/lib/transport/xhr-polling.js
@@ -2,8 +2,8 @@
 
 var util = require('util')
   , AjaxBasedTransport = require('./lib/ajax-based')
-  , XhrReceiver = require('./lib/receiver-xhr')
-  , XHRCorsObject = require('../xhr-cors')
+  , XhrReceiver = require('./receiver/xhr')
+  , XHRCorsObject = require('./sender/xhr-cors')
   , utils = require('../utils')
   ;
 
diff --git a/lib/transport/xhr-streaming.js b/lib/transport/xhr-streaming.js
index 29d9e32..c54809e 100644
--- a/lib/transport/xhr-streaming.js
+++ b/lib/transport/xhr-streaming.js
@@ -2,8 +2,8 @@
 
 var util = require('util')
   , AjaxBasedTransport = require('./lib/ajax-based')
-  , XhrReceiver = require('./lib/receiver-xhr')
-  , XHRCorsObject = require('../xhr-cors')
+  , XhrReceiver = require('./receiver/xhr')
+  , XHRCorsObject = require('./sender/xhr-cors')
   , utils = require('../utils')
   ;
 
diff --git a/lib/transports.js b/lib/transports.js
index 499aa76..4b372f4 100644
--- a/lib/transports.js
+++ b/lib/transports.js
@@ -2,7 +2,10 @@
 
 module.exports = function (availableTransports) {
   return function (url, transportsWhitelist, info) {
-    var transports = [];
+    var transports = {
+      main: []
+    , facade: []
+    };
     if (!transportsWhitelist) {
       transportsWhitelist = [];
     }
@@ -19,7 +22,10 @@ module.exports = function (availableTransports) {
       }
 
       if (trans.enabled(url, info)) {
-        transports.push(trans);
+        transports.main.push(trans);
+        if (trans.facadeTransport) {
+          transports.facade.push(trans.facadeTransport);
+        }
       }
     }
     return transports;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/sockjs-client.git



More information about the Pkg-javascript-commits mailing list