aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy/web/src/js/connection.js
diff options
context:
space:
mode:
Diffstat (limited to 'mitmproxy/web/src/js/connection.js')
-rw-r--r--mitmproxy/web/src/js/connection.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/mitmproxy/web/src/js/connection.js b/mitmproxy/web/src/js/connection.js
new file mode 100644
index 00000000..5e229b6e
--- /dev/null
+++ b/mitmproxy/web/src/js/connection.js
@@ -0,0 +1,29 @@
+
+var actions = require("./actions.js");
+var AppDispatcher = require("./dispatcher.js").AppDispatcher;
+
+function Connection(url) {
+ if (url[0] === "/") {
+ url = location.origin.replace("http", "ws") + url;
+ }
+
+ var ws = new WebSocket(url);
+ ws.onopen = function () {
+ actions.ConnectionActions.open();
+ };
+ ws.onmessage = function (message) {
+ var m = JSON.parse(message.data);
+ AppDispatcher.dispatchServerAction(m);
+ };
+ ws.onerror = function () {
+ actions.ConnectionActions.error();
+ actions.EventLogActions.add_event("WebSocket connection error.");
+ };
+ ws.onclose = function () {
+ actions.ConnectionActions.close();
+ actions.EventLogActions.add_event("WebSocket connection closed.");
+ };
+ return ws;
+}
+
+module.exports = Connection; \ No newline at end of file