aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js
diff options
context:
space:
mode:
authorJason <jason.daurus@gmail.com>2016-06-23 00:58:45 +0800
committerJason <jason.daurus@gmail.com>2016-06-23 00:58:45 +0800
commit60ea30099091f89c27cb5cbfdf3d316145df5dd5 (patch)
treeb2f28a390bb09ebaf3a245182c2484bae127b854 /web/src/js
parentc0904e9aed58bb0541670e7174852cdef3f79cda (diff)
downloadmitmproxy-60ea30099091f89c27cb5cbfdf3d316145df5dd5.tar.gz
mitmproxy-60ea30099091f89c27cb5cbfdf3d316145df5dd5.tar.bz2
mitmproxy-60ea30099091f89c27cb5cbfdf3d316145df5dd5.zip
[web] FlowActions -> flows ducks
Diffstat (limited to 'web/src/js')
-rw-r--r--web/src/js/actions.js55
-rw-r--r--web/src/js/ducks/flows.js83
2 files changed, 83 insertions, 55 deletions
diff --git a/web/src/js/actions.js b/web/src/js/actions.js
index bb1d0dd6..e00e3cad 100644
--- a/web/src/js/actions.js
+++ b/web/src/js/actions.js
@@ -39,61 +39,6 @@ export var ConnectionActions = {
}
};
-export var FlowActions = {
- accept: function (flow) {
- $.post("/flows/" + flow.id + "/accept");
- },
- accept_all: function(){
- $.post("/flows/accept");
- },
- "delete": function(flow){
- $.ajax({
- type:"DELETE",
- url: "/flows/" + flow.id
- });
- },
- duplicate: function(flow){
- $.post("/flows/" + flow.id + "/duplicate");
- },
- replay: function(flow){
- $.post("/flows/" + flow.id + "/replay");
- },
- revert: function(flow){
- $.post("/flows/" + flow.id + "/revert");
- },
- update: function (flow, nextProps) {
- /*
- //Facebook Flux: We do an optimistic update on the client already.
- var nextFlow = _.cloneDeep(flow);
- _.merge(nextFlow, nextProps);
- AppDispatcher.dispatchViewAction({
- type: ActionTypes.FLOW_STORE,
- cmd: StoreCmds.UPDATE,
- data: nextFlow
- });
- */
- $.ajax({
- type: "PUT",
- url: "/flows/" + flow.id,
- contentType: 'application/json',
- data: JSON.stringify(nextProps)
- });
- },
- clear: function(){
- $.post("/clear");
- },
- download: () => window.location = "/flows/dump",
-
- upload: (file) => {
- let data = new FormData();
- data.append('file', file);
- fetchApi("/flows/dump", {
- method: 'post',
- body: data
- })
- }
-};
-
export var Query = {
SEARCH: "s",
HIGHLIGHT: "h",
diff --git a/web/src/js/ducks/flows.js b/web/src/js/ducks/flows.js
index b24daf55..69bb2812 100644
--- a/web/src/js/ducks/flows.js
+++ b/web/src/js/ducks/flows.js
@@ -7,6 +7,7 @@ export const UPDATE_FILTER = 'FLOWS_UPDATE_FLOW_FILTER'
export const UPDATE_HIGHLIGHT = 'FLOWS_UPDATE_FLOW_HIGHLIGHT'
export const UPDATE_SORT = 'FLOWS_UPDATE_FLOW_SORT'
export const SELECT = 'FLOWS_SELECT'
+export const REQUEST_ACTION = 'FLOWS_REQUEST_ACTION'
const defaultState = {
selected: [],
@@ -122,6 +123,88 @@ export function fetchData() {
}
/**
+ * @public
+ */
+export function accept(flow) {
+ fetch(`/flows/${flow.id}/accept`, { method: 'POST' })
+ return { type: REQUEST_ACTION }
+}
+
+/**
+ * @public
+ */
+export function acceptAll() {
+ fetch('/flows/accept', { method: 'POST' })
+ return { type: REQUEST_ACTION }
+}
+
+/**
+ * @public
+ */
+export function delete(flow) {
+ fetch(`/flows/${flow.id}`, { method: 'DELETE' })
+ return { type: REQUEST_ACTION }
+}
+
+/**
+ * @public
+ */
+export function duplicate(flow) {
+ fetch(`/flows/${flow.id}/duplicate`, { method: 'POST' })
+ return { type: REQUEST_ACTION }
+}
+
+/**
+ * @public
+ */
+export function replay(flow) {
+ fetch(`/flows/${flow.id}/replay`, { method: 'POST' })
+ return { type: REQUEST_ACTION }
+}
+
+/**
+ * @public
+ */
+export function revert(flow) {
+ fetch(`/flows/${flow.id}/revert`, { method: 'POST' })
+ return { type: REQUEST_ACTION }
+}
+
+/**
+ * @public
+ */
+export function update(flow, body) {
+ fetch(`/flows/${flow.id}`, { method: 'PUT', body })
+ return { type: REQUEST_ACTION }
+}
+
+/**
+ * @public
+ */
+export function clear() {
+ fetch('/clear', { method: 'POST' })
+ return { type: REQUEST_ACTION }
+}
+
+/**
+ * @public
+ */
+export function download() {
+ window.location = '/flows/dump'
+ return { type: REQUEST_ACTION }
+}
+
+/**
+ * @public
+ */
+export function upload(file) {
+ const body = new FormData()
+ body.append('file', file)
+ fetch('/flows/dump', { method: 'post', body })
+ return { type: REQUEST_ACTION }
+}
+
+/**
* @private
*/
export function request() {