/
app.jsx
46 lines (38 loc) · 1.11 KB
/
app.jsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import React from 'react'
import { render } from 'react-dom'
import { applyMiddleware, createStore } from 'redux'
import { Provider } from 'react-redux'
import thunk from 'redux-thunk'
import ProxyApp from './components/ProxyApp'
import rootReducer from './ducks/index'
import { add as addLog } from './ducks/eventLog'
import useUrlState from './urlState'
import WebSocketBackend from './backends/websocket'
import StaticBackend from './backends/static'
import { logger } from 'redux-logger'
const middlewares = [thunk];
if (process.env.NODE_ENV !== 'production') {
middlewares.push(logger);
}
// logger must be last
const store = createStore(
rootReducer,
applyMiddleware(...middlewares)
)
useUrlState(store)
if (MITMWEB_STATIC) {
window.backend = new StaticBackend(store)
} else {
window.backend = new WebSocketBackend(store)
}
window.addEventListener('error', msg => {
store.dispatch(addLog(msg))
})
document.addEventListener('DOMContentLoaded', () => {
render(
<Provider store={store}>
<ProxyApp />
</Provider>,
document.getElementById("mitmproxy")
)
})