From b92980efeca831c879c969e673cd60f93d0e3ace Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Sun, 11 Dec 2016 15:26:49 +0100 Subject: [web] show proxy address, add websocket toggle --- web/src/js/components/Header/OptionMenu.jsx | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'web/src/js/components/Header') diff --git a/web/src/js/components/Header/OptionMenu.jsx b/web/src/js/components/Header/OptionMenu.jsx index 186a9c6a..f1d19f48 100644 --- a/web/src/js/components/Header/OptionMenu.jsx +++ b/web/src/js/components/Header/OptionMenu.jsx @@ -31,6 +31,10 @@ function OptionMenu({ settings, updateSettings }) { checked={settings.http2} onToggle={() => updateSettings({ http2: !settings.http2 })} /> + updateSettings({ websocket: !settings.websocket })} + /> updateSettings({ anticache: !settings.anticache })} -- cgit v1.2.3 From 795e76eee298e23079f7e979119defc4c187b833 Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Sun, 11 Dec 2016 17:37:11 +0100 Subject: [web] style options menu The other menus are WIP. --- web/src/js/components/Header/FlowMenu.jsx | 15 ++-- web/src/js/components/Header/MainMenu.jsx | 21 +++--- web/src/js/components/Header/MenuToggle.jsx | 69 +++++++++++++++++ web/src/js/components/Header/OptionMenu.jsx | 112 ++++++++++++---------------- web/src/js/components/Header/ViewMenu.jsx | 32 -------- 5 files changed, 132 insertions(+), 117 deletions(-) create mode 100644 web/src/js/components/Header/MenuToggle.jsx delete mode 100644 web/src/js/components/Header/ViewMenu.jsx (limited to 'web/src/js/components/Header') diff --git a/web/src/js/components/Header/FlowMenu.jsx b/web/src/js/components/Header/FlowMenu.jsx index e78a49aa..e0c59afe 100644 --- a/web/src/js/components/Header/FlowMenu.jsx +++ b/web/src/js/components/Header/FlowMenu.jsx @@ -18,15 +18,12 @@ FlowMenu.propTypes = { function FlowMenu({ flow, acceptFlow, replayFlow, duplicateFlow, removeFlow, revertFlow }) { return (
-
-
-
+
) } diff --git a/web/src/js/components/Header/MainMenu.jsx b/web/src/js/components/Header/MainMenu.jsx index 5ab3fa9d..6a4e12bf 100644 --- a/web/src/js/components/Header/MainMenu.jsx +++ b/web/src/js/components/Header/MainMenu.jsx @@ -1,20 +1,17 @@ -import React, { Component, PropTypes } from 'react' -import { connect } from 'react-redux' -import FilterInput from './FilterInput' -import { update as updateSettings } from '../../ducks/settings' -import { setFilter, setHighlight } from '../../ducks/flows' +import React, { Component, PropTypes } from "react" +import { connect } from "react-redux" +import FilterInput from "./FilterInput" +import { update as updateSettings } from "../../ducks/settings" +import { setFilter, setHighlight } from "../../ducks/flows" MainMenu.title = "Start" export default function MainMenu() { return ( -
-
- - - -
-
+
+ + +
) } diff --git a/web/src/js/components/Header/MenuToggle.jsx b/web/src/js/components/Header/MenuToggle.jsx new file mode 100644 index 00000000..726db7bd --- /dev/null +++ b/web/src/js/components/Header/MenuToggle.jsx @@ -0,0 +1,69 @@ +import { PropTypes } from "react" +import { connect } from "react-redux" +import { update as updateSettings } from "../../ducks/settings" +import { toggleVisibility } from "../../ducks/eventLog" + +MenuToggle.propTypes = { + value: PropTypes.bool.isRequired, + onChange: PropTypes.func.isRequired, + children: PropTypes.node.isRequired, +} + +export function MenuToggle({ value, onChange, children }) { + return ( +
+ +
+ ) +} + + +SettingsToggle.propTypes = { + setting: PropTypes.string.isRequired, + children: PropTypes.node.isRequired, +} + +export function SettingsToggle({ setting, children, settings, updateSettings }) { + return ( + updateSettings({ [setting]: !settings[setting] })} + > + {children} + + ) +} +SettingsToggle = connect( + state => ({ + settings: state.settings, + }), + { + updateSettings, + } +)(SettingsToggle) + + +export function EventlogToggle({ toggleVisibility, eventLogVisible }) { + return ( + + Display Event Log + + ) +} +EventlogToggle = connect( + state => ({ + eventLogVisible: state.eventLog.visible, + }), + { + toggleVisibility, + } +)(EventlogToggle) + diff --git a/web/src/js/components/Header/OptionMenu.jsx b/web/src/js/components/Header/OptionMenu.jsx index f1d19f48..4fb5dc1f 100644 --- a/web/src/js/components/Header/OptionMenu.jsx +++ b/web/src/js/components/Header/OptionMenu.jsx @@ -1,75 +1,59 @@ import React, { PropTypes } from 'react' import { connect } from 'react-redux' -import ToggleButton from '../common/ToggleButton' -import ToggleInputButton from '../common/ToggleInputButton' -import { update as updateSettings } from '../../ducks/settings' +import {SettingsToggle, EventlogToggle} from './MenuToggle' +import DocsLink from '../common/DocsLink' OptionMenu.title = 'Options' -OptionMenu.propTypes = { - settings: PropTypes.object.isRequired, - updateSettings: PropTypes.func.isRequired, -} - -function OptionMenu({ settings, updateSettings }) { +export default function OptionMenu() { return (
-
- updateSettings({ showhost: !settings.showhost })} - /> - updateSettings({ no_upstream_cert: !settings.no_upstream_cert })} - /> - updateSettings({ rawtcp: !settings.rawtcp })} - /> - updateSettings({ http2: !settings.http2 })} - /> - updateSettings({ websocket: !settings.websocket })} - /> - updateSettings({ anticache: !settings.anticache })} - /> - updateSettings({ anticomp: !settings.anticomp })} - /> - updateSettings({ stickyauth: !settings.stickyauth ? txt : null })} - /> - updateSettings({ stickycookie: !settings.stickycookie ? txt : null })} - /> - updateSettings({ stream_large_bodies: !settings.stream_large_bodies ? txt : null })} - /> +
+ HTTP/2.0 + WebSockets + Raw TCP +
Protocol Support
+
+
+ + Disable Caching + + + Disable Compression + +
+
HTTP Options
-
+
+ + Use Host Header + + +
+
View Options
+
+ { /* + updateSettings({ no_upstream_cert: !settings.no_upstream_cert })} + /> + updateSettings({ stickyauth: !settings.stickyauth ? txt : null })} + /> + updateSettings({ stickycookie: !settings.stickycookie ? txt : null })} + /> + updateSettings({ stream_large_bodies: !settings.stream_large_bodies ? txt : null })} + /> + */}
) } - -export default connect( - state => ({ - settings: state.settings, - }), - { - updateSettings, - } -)(OptionMenu) diff --git a/web/src/js/components/Header/ViewMenu.jsx b/web/src/js/components/Header/ViewMenu.jsx deleted file mode 100644 index 22b370d1..00000000 --- a/web/src/js/components/Header/ViewMenu.jsx +++ /dev/null @@ -1,32 +0,0 @@ -import React, { PropTypes } from 'react' -import { connect } from 'react-redux' -import ToggleButton from '../common/ToggleButton' -import { toggleVisibility } from '../../ducks/eventLog' - -ViewMenu.title = 'View' -ViewMenu.route = 'flows' - -ViewMenu.propTypes = { - eventLogVisible: PropTypes.bool.isRequired, - toggleEventLog: PropTypes.func.isRequired, -} - -function ViewMenu({ eventLogVisible, toggleEventLog }) { - return ( -
-
- -
-
-
- ) -} - -export default connect( - state => ({ - eventLogVisible: state.eventLog.visible, - }), - { - toggleEventLog: toggleVisibility, - } -)(ViewMenu) -- cgit v1.2.3 From 6540aedaab107a7eecf57d2275e578d97fc77335 Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Sun, 11 Dec 2016 18:49:28 +0100 Subject: [web] style start menu --- web/src/js/components/Header/FilterDocs.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'web/src/js/components/Header') diff --git a/web/src/js/components/Header/FilterDocs.jsx b/web/src/js/components/Header/FilterDocs.jsx index c237e230..49fb5fbc 100644 --- a/web/src/js/components/Header/FilterDocs.jsx +++ b/web/src/js/components/Header/FilterDocs.jsx @@ -47,7 +47,7 @@ export default class FilterDocs extends Component { -   mitmproxy docs +   mitmproxy docs -- cgit v1.2.3 From d1c7b203f08d4b1e1ee3c7a50762a4f08843feef Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Sun, 11 Dec 2016 19:59:54 +0100 Subject: [web] style flow menu --- web/src/js/components/Header/FlowMenu.jsx | 62 +++++++++++++++---- web/src/js/components/Header/MenuToggle.jsx | 2 +- web/src/js/components/Header/OptionMenu.jsx | 92 +++++++++++++++-------------- 3 files changed, 100 insertions(+), 56 deletions(-) (limited to 'web/src/js/components/Header') diff --git a/web/src/js/components/Header/FlowMenu.jsx b/web/src/js/components/Header/FlowMenu.jsx index e0c59afe..420cb054 100644 --- a/web/src/js/components/Header/FlowMenu.jsx +++ b/web/src/js/components/Header/FlowMenu.jsx @@ -1,13 +1,13 @@ -import React, { PropTypes } from 'react' -import { connect } from 'react-redux' -import Button from '../common/Button' -import { MessageUtils } from '../../flow/utils.js' -import * as flowsActions from '../../ducks/flows' +import React, { PropTypes } from "react" +import { connect } from "react-redux" +import Button from "../common/Button" +import { MessageUtils } from "../../flow/utils.js" +import * as flowsActions from "../../ducks/flows" FlowMenu.title = 'Flow' FlowMenu.propTypes = { - flow: PropTypes.object.isRequired, + flow: PropTypes.object, acceptFlow: PropTypes.func.isRequired, replayFlow: PropTypes.func.isRequired, duplicateFlow: PropTypes.func.isRequired, @@ -16,14 +16,52 @@ FlowMenu.propTypes = { } function FlowMenu({ flow, acceptFlow, replayFlow, duplicateFlow, removeFlow, revertFlow }) { + if (!flow) + return
return (
- + + + +
+
Flow Modification
+
+
+
+ +
+
Export
+
+
+
+ + +
+
Interception
+
+ + +
) } diff --git a/web/src/js/components/Header/MenuToggle.jsx b/web/src/js/components/Header/MenuToggle.jsx index 726db7bd..8977f3b9 100644 --- a/web/src/js/components/Header/MenuToggle.jsx +++ b/web/src/js/components/Header/MenuToggle.jsx @@ -11,7 +11,7 @@ MenuToggle.propTypes = { export function MenuToggle({ value, onChange, children }) { return ( -
+