[Pkg-javascript-commits] [sockjs-client] 98/350: Abstract out underlying websocket driver

tonnerre at ancient-solutions.com tonnerre at ancient-solutions.com
Fri Aug 5 01:03:47 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 bb9c56047fa45606f19791fbc473776519134ce7
Author: Bryce Kahle <bkahle at gmail.com>
Date:   Thu Oct 9 14:00:30 2014 -0400

    Abstract out underlying websocket driver
---
 lib/transport/browser/websocket.js |  1 +
 lib/transport/driver/websocket.js  |  1 +
 lib/transport/websocket.js         |  6 +++---
 package.json                       | 19 +++++++++++--------
 4 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/lib/transport/browser/websocket.js b/lib/transport/browser/websocket.js
new file mode 100644
index 0000000..0885203
--- /dev/null
+++ b/lib/transport/browser/websocket.js
@@ -0,0 +1 @@
+module.exports = global.WebSocket || global.MozWebSocket;
\ No newline at end of file
diff --git a/lib/transport/driver/websocket.js b/lib/transport/driver/websocket.js
new file mode 100644
index 0000000..d473885
--- /dev/null
+++ b/lib/transport/driver/websocket.js
@@ -0,0 +1 @@
+module.exports = require('faye-websocket').Client;
\ No newline at end of file
diff --git a/lib/transport/websocket.js b/lib/transport/websocket.js
index 5bf786c..166ac3f 100644
--- a/lib/transport/websocket.js
+++ b/lib/transport/websocket.js
@@ -5,6 +5,7 @@ var utils = require('../utils')
   , EventTarget = require('../polyfills/eventtarget')
   , TransportMessageEvent = require('./lib/trans-message-event')
   , CloseEvent = require('./lib/closeevent')
+  , WebsocketDriver = require('./driver/websocket')
   ;
 
 function WebSocketTransport(transUrl) {
@@ -18,9 +19,8 @@ function WebSocketTransport(transUrl) {
     url = 'ws' + url.slice(4);
   }
   this.url = url;
-  var Constructor = global.WebSocket || global.MozWebSocket || require('faye-websocket').Client;
 
-  this.ws = new Constructor(this.url);
+  this.ws = new WebsocketDriver(this.url);
   this.ws.onmessage = function(e) {
     self.dispatchEvent(new TransportMessageEvent(e.data));
   };
@@ -58,7 +58,7 @@ WebSocketTransport.prototype.close = function() {
 };
 
 WebSocketTransport.enabled = function() {
-  return !!(window.WebSocket || window.MozWebSocket);
+  return !!WebsocketDriver;
 };
 WebSocketTransport.transportName = 'websocket';
 
diff --git a/package.json b/package.json
index bfaf9d2..c3619de 100644
--- a/package.json
+++ b/package.json
@@ -3,6 +3,9 @@
   "description": "SockJS-client is a browser JavaScript library that provides a WebSocket-like object. SockJS gives you a coherent, cross-browser, Javascript API which creates a low latency, full duplex, cross-domain communication channel between the browser and the web server.",
   "version": "1.0.0-alpha1",
   "author": "Marek Majkowski",
+  "browser": {
+    "./lib/transport/driver/websocket": "./lib/transport/browser/websocket"
+  },
   "bugs": {
     "url": "https://github.com/sockjs/sockjs-client/issues"
   },
@@ -13,24 +16,24 @@
     }
   ],
   "dependencies": {
-    "json3": "^3.3.2",
-    "faye-websocket": "~0.7.3"
+    "faye-websocket": "~0.7.3",
+    "json3": "^3.3.2"
   },
   "devDependencies": {
     "browserify": "^4.2.3",
     "exorcist": "^0.1.6",
+    "expect.js": "~0.3.1",
     "gulp": "^3.8.7",
+    "gulp-eslint": "~0.1.8",
+    "gulp-mocha": "~1.1.0",
     "minifyify": "^3.0.12",
     "mocha": "^1.21.4",
     "mold-source-map": "^0.3.0",
     "node-static": "^0.5.9",
+    "proxyquire": "~1.0.1",
     "sockjs": "^0.3.9",
     "vinyl-source-stream": "^0.1.1",
-    "zuul": "^1.10.1",
-    "expect.js": "~0.3.1",
-    "proxyquire": "~1.0.1",
-    "gulp-mocha": "~1.1.0",
-    "gulp-eslint": "~0.1.8"
+    "zuul": "^1.10.1"
   },
   "homepage": "http://sockjs.org",
   "keywords": [
@@ -50,4 +53,4 @@
     "test_ws": "./node_modules/zuul/bin/zuul --sauce-connect -- tests/html/lib/ws_test.js",
     "test_local": "./node_modules/zuul/bin/zuul --local 9090 -- tests/html/lib/unittests.js tests/html/lib/domtests.js tests/html/lib/endtoendtests.js tests/html/lib/tests.js"
   }
-}
+}
\ No newline at end of file

-- 
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