aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason <jason.daurus@gmail.com>2016-06-16 16:46:13 +0800
committerJason <jason.daurus@gmail.com>2016-06-17 05:08:05 +0800
commit7fb0836bfedefd851403ba440e88bc04548cf7b0 (patch)
treeaeb2426ce9325c0f55fcaecadfd4e54f1910ed6f
parentb88937f1e039e306f95a760ea181fcdcc6fec1fa (diff)
downloadmitmproxy-7fb0836bfedefd851403ba440e88bc04548cf7b0.tar.gz
mitmproxy-7fb0836bfedefd851403ba440e88bc04548cf7b0.tar.bz2
mitmproxy-7fb0836bfedefd851403ba440e88bc04548cf7b0.zip
[web] remove store
-rw-r--r--mitmproxy/web/static/app.js2
-rw-r--r--web/src/js/ducks/settings.js14
-rw-r--r--web/src/js/store/store.js91
-rw-r--r--web/src/js/store/view.js0
4 files changed, 8 insertions, 99 deletions
diff --git a/mitmproxy/web/static/app.js b/mitmproxy/web/static/app.js
index e0c7bd3e..572ea373 100644
--- a/mitmproxy/web/static/app.js
+++ b/mitmproxy/web/static/app.js
@@ -101,7 +101,7 @@
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(exports,"__esModule",{value:!0});var _redux=require("redux"),_eventLog=require("./eventLog"),_eventLog2=_interopRequireDefault(_eventLog),_websocket=require("./websocket"),_websocket2=_interopRequireDefault(_websocket),_flows=require("./flows"),_flows2=_interopRequireDefault(_flows),_settings=require("./settings"),_settings2=_interopRequireDefault(_settings),_ui=require("./ui"),_ui2=_interopRequireDefault(_ui),rootReducer=(0,_redux.combineReducers)({eventLog:_eventLog2["default"],websocket:_websocket2["default"],flows:_flows2["default"],settings:_settings2["default"],ui:_ui2["default"]});exports["default"]=rootReducer;
},{"./eventLog":32,"./flows":33,"./settings":35,"./ui":36,"./websocket":39,"redux":"redux"}],35:[function(require,module,exports){
-"use strict";function reduceData(e,t){switch(t.cmd){case WS_MSG_CMD_RESET:return t.data||{};case WS_MSG_CMD_UPDATE:return _.merge({},e.settings,t.data);default:return e}}function reduce(){var e=arguments.length<=0||void 0===arguments[0]?defaultState:arguments[0],t=arguments[1];switch(t.type){case BEGIN_FETCH:return _extends({},e,{pendings:[],req:t.req});case FETCH_SETTINGS:var r=e.pendings||[];return _extends({},e,{pendings:null,settings:r.reduce(reduceData,data)});case RECV_WS_MSG:return e.pendings?_extends({},e,{pendings:e.pendings.concat(t)}):_extends({},e,{settings:reduceData(e.settings,t)});default:return e}}function fetch(){var e=this;return function(t){var r=$.getJSON("/"+e.type).done(function(e){return t(reset(e.data))}).fail(function(e){return t(handleFetchError(e))});return t({type:BEGIN_FETCH,req:r}),r}}function handleWsMsg(e){return function(t,r){if(e.cmd===STORE_CMDS_RESET){var n=r().settings.req;return n&&n.abort(),t(reset(e.data))}t({type:RECV_WS_MSG,cmd:e.cmd,data:e.data})}}function reset(e){return{type:FETCH_SETTINGS,data:e}}function handleFetchError(e){return console.error(e),{type:FETCH_ERROR,error:e}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.RECV_WS_MSG=exports.FETCH_ERROR=exports.FETCH_SETTINGS=exports.BEGIN_FETCH=exports.WS_MSG_CMD_UPDATE=exports.WS_MSG_CMD_RESET=exports.WS_MSG_TYPE=void 0;var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e};exports["default"]=reduce,exports.fetch=fetch,exports.handleWsMsg=handleWsMsg,exports.reset=reset,exports.handleFetchError=handleFetchError;var _actions=require("../actions"),WS_MSG_TYPE=exports.WS_MSG_TYPE="settings",WS_MSG_CMD_RESET=exports.WS_MSG_CMD_RESET="reset",WS_MSG_CMD_UPDATE=exports.WS_MSG_CMD_UPDATE="update",BEGIN_FETCH=exports.BEGIN_FETCH="SETTINGS_BEGIN_FETCH",FETCH_SETTINGS=exports.FETCH_SETTINGS="SETTINGS_FETCH_SETTINGS",FETCH_ERROR=exports.FETCH_ERROR="SETTINGS_FETCH_ERROR",RECV_WS_MSG=exports.RECV_WS_MSG="SETTINGS_RECV_WS_MSG",defaultState={settings:{},pendings:null,req:null};
+"use strict";function reduceData(e,t){switch(t.cmd){case WS_MSG_CMD_RESET:return t.data||{};case WS_MSG_CMD_UPDATE:return _.merge({},e.settings,t.data);default:return e}}function reduce(){var e=arguments.length<=0||void 0===arguments[0]?defaultState:arguments[0],t=arguments[1];switch(t.type){case BEGIN_FETCH:return _extends({},e,{pendings:[],req:t.req});case FETCH_SETTINGS:var r=e.pendings||[];return _extends({},e,{pendings:null,settings:r.reduce(reduceData,data)});case RECV_WS_MSG:return e.pendings?_extends({},e,{pendings:e.pendings.concat(t)}):_extends({},e,{settings:reduceData(e.settings,t)});default:return e}}function fetch(){var e=this;return function(t){var r=$.getJSON("/"+e.type).done(function(e){return t(reset(e.data))}).fail(function(e){return t(handleFetchError(e))});return t({type:BEGIN_FETCH,req:r}),r}}function handleWsMsg(e){return function(t,r){if(e.cmd!==STORE_CMDS_RESET)return t({type:RECV_WS_MSG,cmd:e.cmd,data:e.data});var n=r().settings.req;n&&n.abort(),t(reset(e.data))}}function reset(e){return{type:FETCH_SETTINGS,data:e}}function handleFetchError(e){return console.error(e),{type:FETCH_ERROR,error:e}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.RECV_WS_MSG=exports.FETCH_ERROR=exports.FETCH_SETTINGS=exports.BEGIN_FETCH=exports.WS_MSG_CMD_UPDATE=exports.WS_MSG_CMD_RESET=exports.WS_MSG_TYPE=void 0;var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e};exports["default"]=reduce,exports.fetch=fetch,exports.handleWsMsg=handleWsMsg,exports.reset=reset,exports.handleFetchError=handleFetchError;var _actions=require("../actions"),WS_MSG_TYPE=exports.WS_MSG_TYPE="settings",WS_MSG_CMD_RESET=exports.WS_MSG_CMD_RESET="reset",WS_MSG_CMD_UPDATE=exports.WS_MSG_CMD_UPDATE="update",BEGIN_FETCH=exports.BEGIN_FETCH="SETTINGS_BEGIN_FETCH",FETCH_SETTINGS=exports.FETCH_SETTINGS="SETTINGS_FETCH_SETTINGS",FETCH_ERROR=exports.FETCH_ERROR="SETTINGS_FETCH_ERROR",RECV_WS_MSG=exports.RECV_WS_MSG="SETTINGS_RECV_WS_MSG",defaultState={settings:{},pendings:null,req:null};
},{"../actions":1}],36:[function(require,module,exports){
"use strict";function reducer(){var e=arguments.length<=0||void 0===arguments[0]?defaultState:arguments[0],t=arguments[1];switch(t.type){case SET_ACTIVE_MENU:return _extends({},e,{activeMenu:t.activeMenu});case _flows.SELECT_FLOW:var r=t.flowId&&!t.currentSelection,n=!t.flowId&&t.currentSelection;return r?_extends({},e,{activeMenu:"Flow"}):n&&"Flow"===e.activeMenu?_extends({},e,{activeMenu:"Start"}):e;default:return e}}function setActiveMenu(e){return{type:SET_ACTIVE_MENU,activeMenu:e}}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e};exports["default"]=reducer,exports.setActiveMenu=setActiveMenu;var _flows=require("./flows"),SET_ACTIVE_MENU="SET_ACTIVE_MENU",defaultState={activeMenu:"Start"};
diff --git a/web/src/js/ducks/settings.js b/web/src/js/ducks/settings.js
index 8513c2f1..05499da5 100644
--- a/web/src/js/ducks/settings.js
+++ b/web/src/js/ducks/settings.js
@@ -60,14 +60,14 @@ export function fetch() {
export function handleWsMsg(msg) {
return (dispatch, getState) => {
- if (msg.cmd === STORE_CMDS_RESET) {
- const req = getState().settings.req
- if (req) {
- req.abort()
- }
- return dispatch(reset(msg.data))
+ if (msg.cmd !== STORE_CMDS_RESET) {
+ return dispatch({ type: RECV_WS_MSG, cmd: msg.cmd, data: msg.data })
+ }
+ const req = getState().settings.req
+ if (req) {
+ req.abort()
}
- dispatch({ type: RECV_WS_MSG, cmd: msg.cmd, data: msg.data })
+ dispatch(reset(msg.data))
}
}
diff --git a/web/src/js/store/store.js b/web/src/js/store/store.js
deleted file mode 100644
index df3a23ab..00000000
--- a/web/src/js/store/store.js
+++ /dev/null
@@ -1,91 +0,0 @@
-
-import _ from "lodash";
-import $ from "jquery";
-import {EventEmitter} from 'events';
-import {ActionTypes, StoreCmds} from "../actions.js";
-import {AppDispatcher} from "../dispatcher.js";
-
-
-function DictStore() {
- EventEmitter.call(this);
- this.reset();
-}
-_.extend(DictStore.prototype, EventEmitter.prototype, {
- update: function (dict) {
- _.merge(this.dict, dict);
- this.emit("recalculate");
- },
- reset: function (dict) {
- this.dict = dict || {};
- this.emit("recalculate");
- }
-});
-
-function LiveStoreMixin(type) {
- this.type = type;
-
- this._updates_before_fetch = undefined;
- this._fetchxhr = false;
-
- this.handle = this.handle.bind(this);
- AppDispatcher.register(this.handle);
-
- // Avoid double-fetch on startup.
- if (!(window.ws && window.ws.readyState === WebSocket.CONNECTING)) {
- this.fetch();
- }
-}
-_.extend(LiveStoreMixin.prototype, {
- handle: function (event) {
- if (event.type === ActionTypes.CONNECTION_OPEN) {
- return this.fetch();
- }
- if (event.type === this.type) {
- if (event.cmd === StoreCmds.RESET) {
- this.fetch(event.data);
- } else if (this._updates_before_fetch) {
- console.log("defer update", event);
- this._updates_before_fetch.push(event);
- } else {
- this[event.cmd](event.data);
- }
- }
- },
- close: function () {
- AppDispatcher.unregister(this.handle);
- },
- fetch: function (data) {
- console.log("fetch " + this.type);
- if (this._fetchxhr) {
- this._fetchxhr.abort();
- }
- this._updates_before_fetch = []; // (JS: empty array is true)
- if (data) {
- this.handle_fetch(data);
- } else {
- this._fetchxhr = $.getJSON("/" + this.type)
- .done(function (message) {
- this.handle_fetch(message.data);
- }.bind(this))
- .fail(function () {
- console.error("Could not fetch " + this.type)
- }.bind(this));
- }
- },
- handle_fetch: function (data) {
- this._fetchxhr = false;
- console.log(this.type + " fetched.", this._updates_before_fetch);
- this.reset(data);
- var updates = this._updates_before_fetch;
- this._updates_before_fetch = false;
- for (var i = 0; i < updates.length; i++) {
- this.handle(updates[i]);
- }
- },
-});
-
-function LiveDictStore(type) {
- DictStore.call(this);
- LiveStoreMixin.call(this, type);
-}
-_.extend(LiveDictStore.prototype, DictStore.prototype, LiveStoreMixin.prototype);
diff --git a/web/src/js/store/view.js b/web/src/js/store/view.js
deleted file mode 100644
index e69de29b..00000000
--- a/web/src/js/store/view.js
+++ /dev/null