aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js/connection.js
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2016-06-02 21:12:59 -0700
committerMaximilian Hils <git@maximilianhils.com>2016-06-02 21:12:59 -0700
commit7c63aa3708a09b997575cb85cb6dfaaa41082fab (patch)
treef785caa03b667fb38487575ae7030e9e46bbd84d /web/src/js/connection.js
parent6a91ab166f4479eb50846fed184aa197dd018bfe (diff)
downloadmitmproxy-7c63aa3708a09b997575cb85cb6dfaaa41082fab.tar.gz
mitmproxy-7c63aa3708a09b997575cb85cb6dfaaa41082fab.tar.bz2
mitmproxy-7c63aa3708a09b997575cb85cb6dfaaa41082fab.zip
web: reduxify WebSocket
Diffstat (limited to 'web/src/js/connection.js')
-rw-r--r--web/src/js/connection.js16
1 files changed, 9 insertions, 7 deletions
diff --git a/web/src/js/connection.js b/web/src/js/connection.js
index 6177938e..71d20f46 100644
--- a/web/src/js/connection.js
+++ b/web/src/js/connection.js
@@ -1,19 +1,22 @@
import {ConnectionActions, EventLogActions} from "./actions.js";
import {AppDispatcher} from "./dispatcher.js";
+import * as websocketActions from "./ducks/websocket"
-function Connection(url) {
+export default function Connection(url, dispatch) {
if (url[0] === "/") {
url = location.origin.replace("http", "ws") + url;
}
var ws = new WebSocket(url);
ws.onopen = function () {
+ dispatch(websocketActions.connected());
ConnectionActions.open();
};
- ws.onmessage = function (message) {
- var m = JSON.parse(message.data);
- AppDispatcher.dispatchServerAction(m);
+ ws.onmessage = function (m) {
+ var message = JSON.parse(m.data);
+ AppDispatcher.dispatchServerAction(message);
+ dispatch(websocketActions.receiveMessage(message));
};
ws.onerror = function () {
ConnectionActions.error();
@@ -22,8 +25,7 @@ function Connection(url) {
ws.onclose = function () {
ConnectionActions.close();
EventLogActions.add_event("WebSocket connection closed.");
+ dispatch(websocketActions.disconnected());
};
return ws;
-}
-
-export default Connection; \ No newline at end of file
+} \ No newline at end of file