aboutsummaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2017-06-12 13:01:22 +0200
committerMaximilian Hils <git@maximilianhils.com>2017-06-12 13:01:22 +0200
commit99eca6dfedb57024ba57495e6c5fc2dc050df5db (patch)
tree70317cfca95317c826f96f8eb1aa7e335267638e /web
parentc1ba6b6c218edcbcf53a8f15be62474a9b34c0a4 (diff)
downloadmitmproxy-99eca6dfedb57024ba57495e6c5fc2dc050df5db.tar.gz
mitmproxy-99eca6dfedb57024ba57495e6c5fc2dc050df5db.tar.bz2
mitmproxy-99eca6dfedb57024ba57495e6c5fc2dc050df5db.zip
[web] fix contentviews, simplify related logic
Diffstat (limited to 'web')
-rw-r--r--web/src/js/components/ContentView.jsx13
-rw-r--r--web/src/js/components/ContentView/ContentLoader.jsx2
-rw-r--r--web/src/js/components/ContentView/ContentViews.jsx6
3 files changed, 13 insertions, 8 deletions
diff --git a/web/src/js/components/ContentView.jsx b/web/src/js/components/ContentView.jsx
index a79bf9e5..cb4749c5 100644
--- a/web/src/js/components/ContentView.jsx
+++ b/web/src/js/components/ContentView.jsx
@@ -1,7 +1,7 @@
import React, { Component } from 'react'
import PropTypes from 'prop-types'
import { connect } from 'react-redux'
-import * as ContentViews from './ContentView/ContentViews'
+import { Edit, ViewServer, ViewImage } from './ContentView/ContentViews'
import * as MetaViews from './ContentView/MetaViews'
import ShowFullContentButton from './ContentView/ShowFullContentButton'
@@ -16,7 +16,7 @@ ContentView.propTypes = {
message: PropTypes.object.isRequired,
}
-ContentView.isContentTooLarge = msg => msg.contentLength > 1024 * 1024 * (ContentViews.ViewImage.matches(msg) ? 10 : 0.2)
+ContentView.isContentTooLarge = msg => msg.contentLength > 1024 * 1024 * (ViewImage.matches(msg) ? 10 : 0.2)
function ContentView(props) {
const { flow, message, contentView, isDisplayLarge, displayLarge, onContentChange, readonly } = props
@@ -33,10 +33,15 @@ function ContentView(props) {
return <MetaViews.ContentTooLarge {...props} onClick={displayLarge}/>
}
- const View = ContentViews[contentView] || ContentViews['ViewServer']
+ let view;
+ if(contentView === "Edit") {
+ view = <Edit flow={flow} message={message} onChange={onContentChange}/>
+ } else {
+ view = <ViewServer flow={flow} message={message} contentView={contentView}/>
+ }
return (
<div className="contentview">
- <View flow={flow} message={message} contentView={contentView} readonly={readonly} onChange={onContentChange}/>
+ {view}
<ShowFullContentButton/>
</div>
)
diff --git a/web/src/js/components/ContentView/ContentLoader.jsx b/web/src/js/components/ContentView/ContentLoader.jsx
index 69e4a988..44716e12 100644
--- a/web/src/js/components/ContentView/ContentLoader.jsx
+++ b/web/src/js/components/ContentView/ContentLoader.jsx
@@ -55,7 +55,7 @@ export default function withContentLoader(View) {
return this.setState({request: undefined, content: ""})
}
- let requestUrl = MessageUtils.getContentURL(props.flow, props.message, (View.name == 'ViewServer' ? props.contentView : undefined))
+ let requestUrl = MessageUtils.getContentURL(props.flow, props.message, props.contentView)
// We use XMLHttpRequest instead of fetch() because fetch() is not (yet) abortable.
let request = new XMLHttpRequest();
diff --git a/web/src/js/components/ContentView/ContentViews.jsx b/web/src/js/components/ContentView/ContentViews.jsx
index dfae937e..387c940a 100644
--- a/web/src/js/components/ContentView/ContentViews.jsx
+++ b/web/src/js/components/ContentView/ContentViews.jsx
@@ -2,7 +2,7 @@ import React, { Component } from 'react'
import PropTypes from 'prop-types'
import { connect } from 'react-redux'
import { setContentViewDescription, setContent } from '../../ducks/ui/flow'
-import ContentLoader from './ContentLoader'
+import withContentLoader from './ContentLoader'
import { MessageUtils } from '../../flow/utils'
import CodeEditor from './CodeEditor'
@@ -28,7 +28,7 @@ Edit.propTypes = {
function Edit({ content, onChange }) {
return <CodeEditor content={content} onChange={onChange}/>
}
-Edit = ContentLoader(Edit)
+Edit = withContentLoader(Edit)
export class PureViewServer extends Component {
static propTypes = {
@@ -94,6 +94,6 @@ const ViewServer = connect(
setContentViewDescription,
setContent
}
-)(ContentLoader(PureViewServer))
+)(withContentLoader(PureViewServer))
export { Edit, ViewServer, ViewImage }