aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason <jason.daurus@gmail.com>2016-06-24 01:20:42 +0800
committerJason <jason.daurus@gmail.com>2016-06-24 01:20:42 +0800
commitf392b8e34cae2d985c500ddc26a93c8f620a6f57 (patch)
tree4f99beb3872d5d3928f3ccc2853c28171c0e7873
parentc40ff0277bc3a3668ffcfa7b1489998603d3c31c (diff)
downloadmitmproxy-f392b8e34cae2d985c500ddc26a93c8f620a6f57.tar.gz
mitmproxy-f392b8e34cae2d985c500ddc26a93c8f620a6f57.tar.bz2
mitmproxy-f392b8e34cae2d985c500ddc26a93c8f620a6f57.zip
[web] bug fix
-rw-r--r--mitmproxy/web/static/app.js10
-rw-r--r--web/src/js/components/Header/FileMenu.jsx8
-rw-r--r--web/src/js/ducks/eventLog.js2
-rwxr-xr-xweb/src/js/ducks/views/main.js10
4 files changed, 17 insertions, 13 deletions
diff --git a/mitmproxy/web/static/app.js b/mitmproxy/web/static/app.js
index 9734aa8d..3fe3ed03 100644
--- a/mitmproxy/web/static/app.js
+++ b/mitmproxy/web/static/app.js
@@ -59,9 +59,9 @@
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),_react=require("react"),_react2=_interopRequireDefault(_react),_reactRedux=require("react-redux"),_classnames=require("classnames"),_classnames2=_interopRequireDefault(_classnames),_MainMenu=require("./Header/MainMenu"),_MainMenu2=_interopRequireDefault(_MainMenu),_ViewMenu=require("./Header/ViewMenu"),_ViewMenu2=_interopRequireDefault(_ViewMenu),_OptionMenu=require("./Header/OptionMenu"),_OptionMenu2=_interopRequireDefault(_OptionMenu),_FileMenu=require("./Header/FileMenu"),_FileMenu2=_interopRequireDefault(_FileMenu),_FlowMenu=require("./Header/FlowMenu"),_FlowMenu2=_interopRequireDefault(_FlowMenu),_ui=require("../ducks/ui.js"),Header=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return _inherits(t,e),_createClass(t,[{key:"handleClick",value:function(e,t){t.preventDefault(),this.props.setActiveMenu(e.title)}},{key:"render",value:function(){var e=this,r=this.props,n=r.updateLocation,u=r.query,a=r.selectedFlow,i=r.activeMenu,l=[].concat(_toConsumableArray(t.entries));a&&l.push(_FlowMenu2["default"]);var o=_.find(l,function(e){return e.title==i});return _react2["default"].createElement("header",null,_react2["default"].createElement("nav",{className:"nav-tabs nav-tabs-lg"},_react2["default"].createElement(_FileMenu2["default"],null),l.map(function(t){return _react2["default"].createElement("a",{key:t.title,href:"#",className:(0,_classnames2["default"])({active:t===o}),onClick:function(r){return e.handleClick(t,r)}},t.title)})),_react2["default"].createElement("div",{className:"menu"},_react2["default"].createElement(o,{updateLocation:n,query:u})))}}]),t}(_react.Component);Header.entries=[_MainMenu2["default"],_ViewMenu2["default"],_OptionMenu2["default"]],exports["default"]=(0,_reactRedux.connect)(function(e){return{selectedFlow:e.flows.views.main.selected[0],activeMenu:e.ui.activeMenu}},{setActiveMenu:_ui.setActiveMenu})(Header);
},{"../ducks/ui.js":46,"./Header/FileMenu":21,"./Header/FlowMenu":24,"./Header/MainMenu":25,"./Header/OptionMenu":26,"./Header/ViewMenu":27,"classnames":"classnames","react":"react","react-redux":"react-redux"}],21:[function(require,module,exports){
-"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}(),_react=require("react"),_react2=_interopRequireDefault(_react),_classnames=require("classnames"),_classnames2=_interopRequireDefault(_classnames),_actions=require("../../actions.js"),FileMenu=function(e){function t(e,n){_classCallCheck(this,t);var a=_possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e,n));return a.state={show:!1},a.close=a.close.bind(a),a.onFileClick=a.onFileClick.bind(a),a.onNewClick=a.onNewClick.bind(a),a.onOpenClick=a.onOpenClick.bind(a),a.onOpenFile=a.onOpenFile.bind(a),a.onSaveClick=a.onSaveClick.bind(a),a}return _inherits(t,e),_createClass(t,[{key:"close",value:function(){this.setState({show:!1}),document.removeEventListener("click",this.close)}},{key:"onFileClick",value:function(e){e.preventDefault(),this.state.show||(document.addEventListener("click",this.close),this.setState({show:!0}))}},{key:"onNewClick",value:function(e){e.preventDefault(),confirm("Delete all flows?")&&_actions.FlowActions.clear()}},{key:"onOpenClick",value:function(e){e.preventDefault(),this.fileInput.click()}},{key:"onOpenFile",value:function(e){e.preventDefault(),e.target.files.length>0&&(_actions.FlowActions.upload(e.target.files[0]),this.fileInput.value="")}},{key:"onSaveClick",value:function(e){e.preventDefault(),_actions.FlowActions.download()}},{key:"render",value:function(){var e=this;return _react2["default"].createElement("div",{className:(0,_classnames2["default"])("dropdown pull-left",{open:this.state.show})},_react2["default"].createElement("a",{href:"#",className:"special",onClick:this.onFileClick},"mitmproxy"),_react2["default"].createElement("ul",{className:"dropdown-menu",role:"menu"},_react2["default"].createElement("li",null,_react2["default"].createElement("a",{href:"#",onClick:this.onNewClick},_react2["default"].createElement("i",{className:"fa fa-fw fa-file"}),"New")),_react2["default"].createElement("li",null,_react2["default"].createElement("a",{href:"#",onClick:this.onOpenClick},_react2["default"].createElement("i",{className:"fa fa-fw fa-folder-open"}),"Open..."),_react2["default"].createElement("input",{ref:function(t){return e.fileInput=t},className:"hidden",type:"file",onChange:this.onOpenFile})),_react2["default"].createElement("li",null,_react2["default"].createElement("a",{href:"#",onClick:this.onSaveClick},_react2["default"].createElement("i",{className:"fa fa-fw fa-floppy-o"}),"Save...")),_react2["default"].createElement("li",{role:"presentation",className:"divider"}),_react2["default"].createElement("li",null,_react2["default"].createElement("a",{href:"http://mitm.it/",target:"_blank"},_react2["default"].createElement("i",{className:"fa fa-fw fa-external-link"}),"Install Certificates..."))))}}]),t}(_react.Component);exports["default"]=FileMenu;
+"use strict";function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,t){for(var n=0;n<t.length;n++){var l=t[n];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,n,l){return n&&e(t.prototype,n),l&&e(t,l),t}}(),_react=require("react"),_react2=_interopRequireDefault(_react),_classnames=require("classnames"),_classnames2=_interopRequireDefault(_classnames),_flows=require("../../ducks/flows"),flowActions=_interopRequireWildcard(_flows),FileMenu=function(e){function t(e,n){_classCallCheck(this,t);var l=_possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e,n));return l.state={show:!1},l.close=l.close.bind(l),l.onFileClick=l.onFileClick.bind(l),l.onNewClick=l.onNewClick.bind(l),l.onOpenClick=l.onOpenClick.bind(l),l.onOpenFile=l.onOpenFile.bind(l),l.onSaveClick=l.onSaveClick.bind(l),l}return _inherits(t,e),_createClass(t,[{key:"close",value:function(){this.setState({show:!1}),document.removeEventListener("click",this.close)}},{key:"onFileClick",value:function(e){e.preventDefault(),this.state.show||(document.addEventListener("click",this.close),this.setState({show:!0}))}},{key:"onNewClick",value:function(e){e.preventDefault(),confirm("Delete all flows?")&&flowActions.clear()}},{key:"onOpenClick",value:function(e){e.preventDefault(),this.fileInput.click()}},{key:"onOpenFile",value:function(e){e.preventDefault(),e.target.files.length>0&&(flowActions.upload(e.target.files[0]),this.fileInput.value="")}},{key:"onSaveClick",value:function(e){e.preventDefault(),flowActions.download()}},{key:"render",value:function(){var e=this;return _react2["default"].createElement("div",{className:(0,_classnames2["default"])("dropdown pull-left",{open:this.state.show})},_react2["default"].createElement("a",{href:"#",className:"special",onClick:this.onFileClick},"mitmproxy"),_react2["default"].createElement("ul",{className:"dropdown-menu",role:"menu"},_react2["default"].createElement("li",null,_react2["default"].createElement("a",{href:"#",onClick:this.onNewClick},_react2["default"].createElement("i",{className:"fa fa-fw fa-file"}),"New")),_react2["default"].createElement("li",null,_react2["default"].createElement("a",{href:"#",onClick:this.onOpenClick},_react2["default"].createElement("i",{className:"fa fa-fw fa-folder-open"}),"Open..."),_react2["default"].createElement("input",{ref:function(t){return e.fileInput=t},className:"hidden",type:"file",onChange:this.onOpenFile})),_react2["default"].createElement("li",null,_react2["default"].createElement("a",{href:"#",onClick:this.onSaveClick},_react2["default"].createElement("i",{className:"fa fa-fw fa-floppy-o"}),"Save...")),_react2["default"].createElement("li",{role:"presentation",className:"divider"}),_react2["default"].createElement("li",null,_react2["default"].createElement("a",{href:"http://mitm.it/",target:"_blank"},_react2["default"].createElement("i",{className:"fa fa-fw fa-external-link"}),"Install Certificates..."))))}}]),t}(_react.Component);exports["default"]=FileMenu;
-},{"../../actions.js":1,"classnames":"classnames","react":"react"}],22:[function(require,module,exports){
+},{"../../ducks/flows":43,"classnames":"classnames","react":"react"}],22:[function(require,module,exports){
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),_react=require("react"),_react2=_interopRequireDefault(_react),_jquery=require("jquery"),_jquery2=_interopRequireDefault(_jquery),FilterDocs=function(e){function t(e,r){_classCallCheck(this,t);var n=_possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e,r));return n.state={doc:t.doc},n}return _inherits(t,e),_createClass(t,[{key:"componentWillMount",value:function(){var e=this;t.xhr||(t.xhr=_jquery2["default"].getJSON("/filter-help"),t.xhr.fail(function(){t.xhr=null})),this.state.doc||t.xhr.done(function(r){t.doc=r,e.setState({doc:r})})}},{key:"render",value:function(){var e=this.state.doc;return e?_react2["default"].createElement("table",{className:"table table-condensed"},_react2["default"].createElement("tbody",null,e.commands.map(function(e){return _react2["default"].createElement("tr",{key:e[1]},_react2["default"].createElement("td",null,e[0].replace(" "," ")),_react2["default"].createElement("td",null,e[1]))}),_react2["default"].createElement("tr",{key:"docs-link"},_react2["default"].createElement("td",{colSpan:"2"},_react2["default"].createElement("a",{href:"http://docs.mitmproxy.org/en/stable/features/filters.html",target:"_blank"},_react2["default"].createElement("i",{className:"fa fa-external-link"}),"&nbsp mitmproxy docs"))))):_react2["default"].createElement("i",{className:"fa fa-spinner fa-spin"})}}]),t}(_react.Component);FilterDocs.xhr=null,FilterDocs.doc=null,exports["default"]=FilterDocs;
},{"jquery":"jquery","react":"react"}],23:[function(require,module,exports){
@@ -122,7 +122,7 @@
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.AppDispatcher=void 0;var _flux=require("flux"),_flux2=_interopRequireDefault(_flux),PayloadSources={VIEW:"view",SERVER:"server"},AppDispatcher=exports.AppDispatcher=new _flux2["default"].Dispatcher;AppDispatcher.dispatchViewAction=function(e){e.source=PayloadSources.VIEW,this.dispatch(e)},AppDispatcher.dispatchServerAction=function(e){e.source=PayloadSources.SERVER,this.dispatch(e)};
},{"flux":"flux"}],42:[function(require,module,exports){
-"use strict";function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t["default"]=e,t}function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function reduce(){var e=arguments.length<=0||void 0===arguments[0]?defaultState:arguments[0],t=arguments[1];switch(t.type){case TOGGLE_VISIBILITY:return _extends({},e,{visible:!e.visible});case TOGGLE_FILTER:var r=_extends({},e.filters,_defineProperty({},t.filter,!e.filters[t.filter]));return _extends({},e,{filters:r,view:(0,viewActions["default"])(e.view,viewActions.updateFilter(e.list,function(e){return r[e.level]}))});case ADD:var i={id:"log-"+e.logId,message:t.message,level:t.level};return _extends({},e,{logId:e.logId+1,list:(0,listActions["default"])(e.list,listActions.add(i)),view:(0,viewActions["default"])(e.view,viewActions.add(i,function(t){return e.filters[t.level]}))});case REQUEST:return _extends({},e,{list:(0,listActions["default"])(e.list,listActions.request())});case RECEIVE:var s=(0,listActions["default"])(e.list,listActions.receive(t.list));return _extends({},e,{list:s,view:(0,viewActions["default"])(e.view,viewActions.receive(s,function(t){return e.filters[t.level]}))});default:return _extends({},e,{list:(0,listActions["default"])(e.list,t),view:(0,viewActions["default"])(e.view,t)})}}function toggleFilter(e){return{type:TOGGLE_FILTER,filter:e}}function toggleVisibility(){return{type:TOGGLE_VISIBILITY}}function add(e){var t=arguments.length<=1||void 0===arguments[1]?"web":arguments[1];return{type:ADD,message:e,level:t}}function handleWsMsg(e){switch(e.cmd){case websocketActions.CMD_ADD:return add(e.data.message,e.data.level);case websocketActions.CMD_RESET:return fetchData();default:return{type:UNKNOWN_CMD,msg:e}}}function fetchData(){return function(e){return e(request()),(0,_utils.fetchApi)("/events").then(function(e){return e.json()}).then(function(t){return e(receive(t.data))})["catch"](function(t){return e(fetchError(t))})}}function request(){return{type:REQUEST}}function receive(e){return{type:RECEIVE,list:e}}function fetchError(e){return{type:FETCH_ERROR,error:e}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.FETCH_ERROR=exports.UNKNOWN_CMD=exports.TOGGLE_FILTER=exports.TOGGLE_VISIBILITY=exports.RECEIVE=exports.REQUEST=exports.ADD=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 i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e};exports["default"]=reduce,exports.toggleFilter=toggleFilter,exports.toggleVisibility=toggleVisibility,exports.add=add,exports.handleWsMsg=handleWsMsg,exports.fetchData=fetchData,exports.request=request,exports.receive=receive,exports.fetchError=fetchError;var _utils=require("../utils"),_list=require("./utils/list"),listActions=_interopRequireWildcard(_list),_view=require("./utils/view"),viewActions=_interopRequireWildcard(_view),_websocket=require("./websocket"),websocketActions=_interopRequireWildcard(_websocket),WS_MSG_TYPE=exports.WS_MSG_TYPE="UPDATE_LOG",ADD=exports.ADD="EVENTLOG_ADD",REQUEST=exports.REQUEST="EVENTLOG_REQUEST",RECEIVE=exports.RECEIVE="EVENTLOG_RECEIVE",TOGGLE_VISIBILITY=exports.TOGGLE_VISIBILITY="EVENTLOG_TOGGLE_VISIBILITY",TOGGLE_FILTER=exports.TOGGLE_FILTER="EVENTLOG_TOGGLE_FILTER",UNKNOWN_CMD=exports.UNKNOWN_CMD="EVENTLOG_UNKNOWN_CMD",FETCH_ERROR=exports.FETCH_ERROR="EVENTLOG_FETCH_ERROR",defaultState={logId:0,visible:!1,filters:{debug:!1,info:!0,web:!0},list:void 0,view:void 0};
+"use strict";function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t["default"]=e,t}function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function reduce(){var e=arguments.length<=0||void 0===arguments[0]?defaultState:arguments[0],t=arguments[1];switch(t.type){case TOGGLE_VISIBILITY:return _extends({},e,{visible:!e.visible});case TOGGLE_FILTER:var r=_extends({},e.filters,_defineProperty({},t.filter,!e.filters[t.filter]));return _extends({},e,{filters:r,view:(0,viewActions["default"])(e.view,viewActions.updateFilter(e.list,function(e){return r[e.level]}))});case ADD:var i={id:"log-"+e.logId,message:t.message,level:t.level};return _extends({},e,{logId:e.logId+1,list:(0,listActions["default"])(e.list,listActions.add(i)),view:(0,viewActions["default"])(e.view,viewActions.add(i,function(t){return e.filters[t.level]}))});case REQUEST:return _extends({},e,{list:(0,listActions["default"])(e.list,listActions.request())});case RECEIVE:var s=(0,listActions["default"])(e.list,listActions.receive(t.list));return _extends({},e,{list:s,view:(0,viewActions["default"])(e.view,viewActions.receive(s,function(t){return e.filters[t.level]}))});default:return _extends({},e,{list:(0,listActions["default"])(e.list,t),view:(0,viewActions["default"])(e.view,t)})}}function toggleFilter(e){return{type:TOGGLE_FILTER,filter:e}}function toggleVisibility(){return{type:TOGGLE_VISIBILITY}}function add(e){var t=arguments.length<=1||void 0===arguments[1]?"web":arguments[1];return{type:ADD,message:e,level:t}}function handleWsMsg(e){switch(e.cmd){case websocketActions.CMD_ADD:return add(e.data.message,e.data.level);case websocketActions.CMD_RESET:return fetchData();default:return{type:UNKNOWN_CMD,msg:e}}}function fetchData(){return function(e){return e(request()),(0,_utils.fetchApi)("/events").then(function(e){return e.json()}).then(function(t){return e(receive(t.data))})["catch"](function(t){return e(fetchError(t))})}}function request(){return{type:REQUEST}}function receive(e){return{type:RECEIVE,list:e}}function fetchError(e){return{type:FETCH_ERROR,error:e}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.FETCH_ERROR=exports.UNKNOWN_CMD=exports.TOGGLE_FILTER=exports.TOGGLE_VISIBILITY=exports.RECEIVE=exports.REQUEST=exports.ADD=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 i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e};exports["default"]=reduce,exports.toggleFilter=toggleFilter,exports.toggleVisibility=toggleVisibility,exports.add=add,exports.handleWsMsg=handleWsMsg,exports.fetchData=fetchData,exports.request=request,exports.receive=receive,exports.fetchError=fetchError;var _utils=require("../utils"),_list=require("./utils/list"),listActions=_interopRequireWildcard(_list),_view=require("./utils/view"),viewActions=_interopRequireWildcard(_view),_websocket=require("./websocket"),websocketActions=_interopRequireWildcard(_websocket),WS_MSG_TYPE=exports.WS_MSG_TYPE="UPDATE_EVENTLOG",ADD=exports.ADD="EVENTLOG_ADD",REQUEST=exports.REQUEST="EVENTLOG_REQUEST",RECEIVE=exports.RECEIVE="EVENTLOG_RECEIVE",TOGGLE_VISIBILITY=exports.TOGGLE_VISIBILITY="EVENTLOG_TOGGLE_VISIBILITY",TOGGLE_FILTER=exports.TOGGLE_FILTER="EVENTLOG_TOGGLE_FILTER",UNKNOWN_CMD=exports.UNKNOWN_CMD="EVENTLOG_UNKNOWN_CMD",FETCH_ERROR=exports.FETCH_ERROR="EVENTLOG_FETCH_ERROR",defaultState={logId:0,visible:!1,filters:{debug:!1,info:!0,web:!0},list:void 0,view:void 0};
},{"../utils":54,"./utils/list":47,"./utils/view":48,"./websocket":51}],43:[function(require,module,exports){
"use strict";function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t["default"]=e,t}function reduce(){var e=arguments.length<=0||void 0===arguments[0]?defaultState:arguments[0],t=arguments[1];switch(t.type){case ADD:return _extends({},e,{list:(0,listActions["default"])(e.list,listActions.add(t.item)),views:(0,viewsActions["default"])(e.views,viewsActions.add(t.item))});case UPDATE:return _extends({},e,{list:(0,listActions["default"])(e.list,listActions.update(t.id,t.item)),views:(0,viewsActions["default"])(e.views,viewsActions.update(t.id,t.item))});case REMOVE:return _extends({},e,{list:(0,listActions["default"])(e.list,listActions.remove(t.item.id)),views:(0,viewsActions["default"])(e.views,viewsActions.remove(t.item.id))});case REQUEST:return _extends({},e,{list:(0,listActions["default"])(e.list,listActions.request())});case RECEIVE:var r=(0,listActions["default"])(e.list,listActions.receive(t.list));return _extends({},e,{list:r,views:(0,viewsActions["default"])(e.views,viewsActions.receive(r))});default:return _extends({},e,{list:(0,listActions["default"])(e.list,t),views:(0,viewsActions["default"])(e.views,t)})}}function accept(e){return(0,_utils.fetchApi)("/flows/"+e.id+"/accept",{method:"POST"}),{type:REQUEST_ACTION}}function acceptAll(){return(0,_utils.fetchApi)("/flows/accept",{method:"POST"}),{type:REQUEST_ACTION}}function remove(e){return(0,_utils.fetchApi)("/flows/"+e.id,{method:"DELETE"}),{type:REQUEST_ACTION}}function duplicate(e){return(0,_utils.fetchApi)("/flows/"+e.id+"/duplicate",{method:"POST"}),{type:REQUEST_ACTION}}function replay(e){return(0,_utils.fetchApi)("/flows/"+e.id+"/replay",{method:"POST"}),{type:REQUEST_ACTION}}function revert(e){return(0,_utils.fetchApi)("/flows/"+e.id+"/revert",{method:"POST"}),{type:REQUEST_ACTION}}function update(e,t){return(0,_utils.fetchApi)("/flows/"+e.id,{method:"PUT",body:t}),{type:REQUEST_ACTION}}function clear(){return(0,_utils.fetchApi)("/clear",{method:"POST"}),{type:REQUEST_ACTION}}function download(){return window.location="/flows/dump",{type:REQUEST_ACTION}}function upload(e){var t=new FormData;return t.append("file",e),(0,_utils.fetchApi)("/flows/dump",{method:"post",body:t}),{type:REQUEST_ACTION}}function handleWsMsg(e){switch(e.cmd){case websocketActions.CMD_ADD:return add(e.data);case websocketActions.CMD_UPDATE:return update(e.data.id,e.data);case websocketActions.CMD_REMOVE:return remove(e.data.id);case websocketActions.CMD_RESET:return fetchData();default:return{type:UNKNOWN_CMD,msg:e}}}function fetchData(){return function(e){return e(request()),(0,_utils.fetchApi)("/flows").then(function(e){return e.json()}).then(function(t){return e(receive(t.data))})["catch"](function(t){return e(fetchError(t))})}}function add(e){return{type:ADD,item:e}}function update(e,t){return{type:UPDATE,id:e,item:t}}function remove(e){return{type:REMOVE,id:e}}function request(){return{type:REQUEST}}function receive(e){return{type:RECEIVE,list:e}}function fetchError(e){return{type:FETCH_ERROR,error:e}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.FETCH_ERROR=exports.UNKNOWN_CMD=exports.REQUEST_ACTION=exports.RECEIVE=exports.REQUEST=exports.REMOVE=exports.UPDATE=exports.ADD=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 i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e};exports["default"]=reduce,exports.accept=accept,exports.acceptAll=acceptAll,exports.remove=remove,exports.duplicate=duplicate,exports.replay=replay,exports.revert=revert,exports.update=update,exports.clear=clear,exports.download=download,exports.upload=upload,exports.handleWsMsg=handleWsMsg,exports.fetchData=fetchData,exports.add=add,exports.update=update,exports.remove=remove,exports.request=request,exports.receive=receive,exports.fetchError=fetchError;var _utils=require("../utils"),_list=require("./utils/list"),listActions=_interopRequireWildcard(_list),_views=require("./views"),viewsActions=_interopRequireWildcard(_views),_websocket=require("./websocket"),websocketActions=_interopRequireWildcard(_websocket),WS_MSG_TYPE=exports.WS_MSG_TYPE="UPDATE_FLOWS",ADD=exports.ADD="FLOWS_ADD",UPDATE=exports.UPDATE="FLOWS_UPDATE",REMOVE=exports.REMOVE="FLOWS_REMOVE",REQUEST=exports.REQUEST="FLOWS_REQUEST",RECEIVE=exports.RECEIVE="FLOWS_RECEIVE",REQUEST_ACTION=exports.REQUEST_ACTION="FLOWS_REQUEST_ACTION",UNKNOWN_CMD=exports.UNKNOWN_CMD="FLOWS_UNKNOWN_CMD",FETCH_ERROR=exports.FETCH_ERROR="FLOWS_FETCH_ERROR",defaultState={list:void 0,views:void 0};
@@ -146,9 +146,9 @@
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=e[t]);return r["default"]=e,r}function add(e){return{type:ADD,item:e}}function update(e,r){return{type:UPDATE,id:e,item:r}}function remove(e){return{type:REMOVE,id:e}}function receive(e){return{type:RECEIVE,list:e}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.RECEIVE=exports.REMOVE=exports.UPDATE=exports.ADD=void 0,exports.add=add,exports.update=update,exports.remove=remove,exports.receive=receive;var _redux=require("redux"),_view=require("./utils/view"),viewActions=_interopRequireWildcard(_view),_main=require("./views/main.js"),_main2=_interopRequireDefault(_main),ADD=exports.ADD="FLOW_VIEWS_ADD",UPDATE=exports.UPDATE="FLOW_VIEWS_UPDATE",REMOVE=exports.REMOVE="FLOW_VIEWS_REMOVE",RECEIVE=exports.RECEIVE="FLOW_VIEWS_RECEIVE";exports["default"]=(0,_redux.combineReducers)({main:_main2["default"]});
},{"./utils/view":48,"./views/main.js":50,"redux":"redux"}],50:[function(require,module,exports){
-"use strict";function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t["default"]=e,t}function reduce(){var e=arguments.length<=0||void 0===arguments[0]?defaultState:arguments[0],t=arguments[1];switch(t.type){case UPDATE_HIGHLIGHT:return _extends({},e,{highlight:t.highlight});case SELECT:return _extends({},e,{selected:[t.id]});case UPDATE_FILTER:return _extends({},e,{filter:t.filter,view:(0,viewActions["default"])(e.view,viewActions.updateFilter(t.list,makeFilter(t.filter),makeSorter(e.sorter)))});case UPDATE_SORTER:var r={column:t.column,desc:t.desc};return _extends({},e,{sorter:r,view:(0,viewActions["default"])(e.view,viewActions.updateSorter(makeSorter(r)))});case viewsActions.ADD:return _extends({},e,{view:(0,viewActions["default"])(e.view,viewActions.add(t.item,makeFilter(e.filter),makeSorter(e.sorter)))});case viewsActions.UPDATE:return _extends({},e,{view:(0,viewActions["default"])(e.view,viewActions.update(t.id,t.item,makeFilter(e.filter),makeSorter(e.sorter)))});case viewsActions.REMOVE:return _extends({},e,{view:(0,viewActions["default"])(e.view,viewActions.remove(t.id))});case viewsActions.RECEIVE:return _extends({},e,{view:(0,viewActions["default"])(e.view,viewActions.receive(t.list,makeFilter(e.filter),makeSorter(e.sorter)))});default:return _extends({},e,{view:(0,viewActions["default"])(e.view,t)})}}function updateFilter(e){return function(t,r){return{type:UPDATE_FILTER,filter:e,list:r().flows.list}}}function updateHighlight(e){return{type:UPDATE_HIGHLIGHT,highlight:e}}function updateSorter(e,t){return{type:UPDATE_SORTER,column:e,desc:t}}function select(e){return{type:SELECT,currentSelection:getState().flows.views.main.selected[0],id:e}}function makeFilter(e){return e&&Filt.parse(e)}function makeSorter(e,t){var r=sortKeyFuns[e];if(r)return function(e,i){var n=r(e),s=r(i);return n>s?t?-1:1:s>n?t?1:-1:0}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.SELECT=exports.UPDATE_HIGHLIGHT=exports.UPDATE_SORTER=exports.UPDATE_FILTER=void 0;var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e};exports["default"]=reduce,exports.updateFilter=updateFilter,exports.updateHighlight=updateHighlight,exports.updateSorter=updateSorter,exports.select=select;var _list=require("../utils/list"),viewActions=_interopRequireWildcard(_list),_views=require("../views"),viewsActions=_interopRequireWildcard(_views),UPDATE_FILTER=exports.UPDATE_FILTER="FLOW_VIEWS_MAIN_UPDATE_FILTER",UPDATE_SORTER=exports.UPDATE_SORTER="FLOW_VIEWS_MAIN_UPDATE_SORTER",UPDATE_HIGHLIGHT=exports.UPDATE_HIGHLIGHT="FLOW_VIEWS_MAIN_UPDATE_HIGHLIGHT",SELECT=exports.SELECT="FLOW_VIEWS_MAIN_SELECT",sortKeyFuns={TLSColumn:function(e){return e.request.scheme},PathColumn:function(e){return RequestUtils.pretty_url(e.request)},MethodColumn:function(e){return e.request.method},StatusColumn:function(e){return e.response&&e.response.status_code},TimeColumn:function(e){return e.response&&e.response.timestamp_end-e.request.timestamp_start},SizeColumn:function(e){var t=e.request.contentLength;return e.response&&(t+=e.response.contentLength||0),t}},defaultState={highlight:null,selected:[],filter:null,sorter:{column:null,desc:!1},view:void 0};
+"use strict";function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t["default"]=e,t}function reduce(){var e=arguments.length<=0||void 0===arguments[0]?defaultState:arguments[0],t=arguments[1];switch(t.type){case UPDATE_HIGHLIGHT:return _extends({},e,{highlight:t.highlight});case SELECT:return _extends({},e,{selected:[t.id]});case UPDATE_FILTER:return _extends({},e,{filter:t.filter,view:(0,viewActions["default"])(e.view,viewActions.updateFilter(t.list,makeFilter(t.filter),makeSorter(e.sorter)))});case UPDATE_SORTER:var r={column:t.column,desc:t.desc};return _extends({},e,{sorter:r,view:(0,viewActions["default"])(e.view,viewActions.updateSorter(makeSorter(r)))});case viewsActions.ADD:return _extends({},e,{view:(0,viewActions["default"])(e.view,viewActions.add(t.item,makeFilter(e.filter),makeSorter(e.sorter)))});case viewsActions.UPDATE:return _extends({},e,{view:(0,viewActions["default"])(e.view,viewActions.update(t.id,t.item,makeFilter(e.filter),makeSorter(e.sorter)))});case viewsActions.REMOVE:return _extends({},e,{view:(0,viewActions["default"])(e.view,viewActions.remove(t.id))});case viewsActions.RECEIVE:return _extends({},e,{view:(0,viewActions["default"])(e.view,viewActions.receive(t.list,makeFilter(e.filter),makeSorter(e.sorter)))});default:return _extends({},e,{view:(0,viewActions["default"])(e.view,t)})}}function updateFilter(e){return function(t,r){return{type:UPDATE_FILTER,filter:e,list:r().flows.list}}}function updateHighlight(e){return{type:UPDATE_HIGHLIGHT,highlight:e}}function updateSorter(e,t){return{type:UPDATE_SORTER,column:e,desc:t}}function select(e){return{type:SELECT,currentSelection:getState().flows.views.main.selected[0],id:e}}function makeFilter(e){return e?Filt.parse(e):void 0}function makeSorter(e){var t=e.column,r=e.desc,i=sortKeyFuns[t];return i?function(e,t){var n=i(e),s=i(t);return n>s?r?-1:1:s>n?r?1:-1:0}:void 0}Object.defineProperty(exports,"__esModule",{value:!0}),exports.SELECT=exports.UPDATE_HIGHLIGHT=exports.UPDATE_SORTER=exports.UPDATE_FILTER=void 0;var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e};exports["default"]=reduce,exports.updateFilter=updateFilter,exports.updateHighlight=updateHighlight,exports.updateSorter=updateSorter,exports.select=select;var _utils=require("../../flow/utils"),_view=require("../utils/view"),viewActions=_interopRequireWildcard(_view),_views=require("../views"),viewsActions=_interopRequireWildcard(_views),UPDATE_FILTER=exports.UPDATE_FILTER="FLOW_VIEWS_MAIN_UPDATE_FILTER",UPDATE_SORTER=exports.UPDATE_SORTER="FLOW_VIEWS_MAIN_UPDATE_SORTER",UPDATE_HIGHLIGHT=exports.UPDATE_HIGHLIGHT="FLOW_VIEWS_MAIN_UPDATE_HIGHLIGHT",SELECT=exports.SELECT="FLOW_VIEWS_MAIN_SELECT",sortKeyFuns={TLSColumn:function(e){return e.request.scheme},PathColumn:function(e){return _utils.RequestUtils.pretty_url(e.request)},MethodColumn:function(e){return e.request.method},StatusColumn:function(e){return e.response&&e.response.status_code},TimeColumn:function(e){return e.response&&e.response.timestamp_end-e.request.timestamp_start},SizeColumn:function(e){var t=e.request.contentLength;return e.response&&(t+=e.response.contentLength||0),t}},defaultState={highlight:null,selected:[],filter:null,sorter:{column:null,desc:!1},view:void 0};
-},{"../utils/list":47,"../views":49}],51:[function(require,module,exports){
+},{"../../flow/utils":53,"../utils/view":48,"../views":49}],51:[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 CONNECTED:return{connected:!0};case DISCONNECTED:return{connected:!1};default:return e}}function connected(){return{type:CONNECTED}}function disconnected(){return{type:DISCONNECTED}}Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=reducer,exports.connected=connected,exports.disconnected=disconnected;var CONNECTED="WEBSOCKET_CONNECTED",DISCONNECTED="WEBSOCKET_DISCONNECTED",CMD_ADD=exports.CMD_ADD="add",CMD_UPDATE=exports.CMD_UPDATE="update",CMD_REMOVE=exports.CMD_REMOVE="remove",CMD_RESET=exports.CMD_RESET="reset",defaultState={connected:!1};
},{}],52:[function(require,module,exports){
diff --git a/web/src/js/components/Header/FileMenu.jsx b/web/src/js/components/Header/FileMenu.jsx
index b075b3c8..e1c62e28 100644
--- a/web/src/js/components/Header/FileMenu.jsx
+++ b/web/src/js/components/Header/FileMenu.jsx
@@ -1,6 +1,6 @@
import React, { Component } from 'react'
import classnames from 'classnames'
-import { FlowActions } from '../../actions.js'
+import * as flowActions from '../../ducks/flows'
export default class FileMenu extends Component {
@@ -35,7 +35,7 @@ export default class FileMenu extends Component {
onNewClick(e) {
e.preventDefault()
if (confirm('Delete all flows?')) {
- FlowActions.clear()
+ flowActions.clear()
}
}
@@ -47,14 +47,14 @@ export default class FileMenu extends Component {
onOpenFile(e) {
e.preventDefault()
if (e.target.files.length > 0) {
- FlowActions.upload(e.target.files[0])
+ flowActions.upload(e.target.files[0])
this.fileInput.value = ''
}
}
onSaveClick(e) {
e.preventDefault()
- FlowActions.download()
+ flowActions.download()
}
render() {
diff --git a/web/src/js/ducks/eventLog.js b/web/src/js/ducks/eventLog.js
index 7a4f2d5e..0c875689 100644
--- a/web/src/js/ducks/eventLog.js
+++ b/web/src/js/ducks/eventLog.js
@@ -3,7 +3,7 @@ import reduceList, * as listActions from './utils/list'
import reduceView, * as viewActions from './utils/view'
import * as websocketActions from './websocket'
-export const WS_MSG_TYPE = 'UPDATE_LOG'
+export const WS_MSG_TYPE = 'UPDATE_EVENTLOG'
export const ADD = 'EVENTLOG_ADD'
export const REQUEST = 'EVENTLOG_REQUEST'
diff --git a/web/src/js/ducks/views/main.js b/web/src/js/ducks/views/main.js
index 3bcbdd01..74dc2606 100755
--- a/web/src/js/ducks/views/main.js
+++ b/web/src/js/ducks/views/main.js
@@ -1,4 +1,5 @@
-import reduceView, * as viewActions from '../utils/list'
+import { RequestUtils } from '../../flow/utils'
+import reduceView, * as viewActions from '../utils/view'
import * as viewsActions from '../views'
export const UPDATE_FILTER = 'FLOW_VIEWS_MAIN_UPDATE_FILTER'
@@ -170,13 +171,16 @@ export function select(id) {
* @private
*/
function makeFilter(filter) {
- return filter && Filt.parse(filter)
+ if (!filter) {
+ return
+ }
+ return Filt.parse(filter)
}
/**
* @private
*/
-function makeSorter(column, desc) {
+function makeSorter({ column, desc }) {
const sortKeyFun = sortKeyFuns[column]
if (!sortKeyFun) {
return