diff --git a/addon/web/client/src/App.js b/addon/web/client/src/App.js
index de96f04..5584f57 100644
--- a/addon/web/client/src/App.js
+++ b/addon/web/client/src/App.js
@@ -108,12 +108,19 @@ class App extends React.Component {
!flow.waitIntercept ? null :
-
+
}
diff --git a/addon/web/client/src/components/BreakPoint.js b/addon/web/client/src/components/BreakPoint.js
index 00b63c0..18399dd 100644
--- a/addon/web/client/src/components/BreakPoint.js
+++ b/addon/web/client/src/components/BreakPoint.js
@@ -16,7 +16,9 @@ class BreakPoint extends React.Component {
method: 'ALL',
url: '',
action: '1',
- }
+ },
+
+ haveRules: false,
}
this.handleClose = this.handleClose.bind(this)
@@ -45,14 +47,17 @@ class BreakPoint extends React.Component {
this.props.onSave(rules)
this.handleClose()
+
+ this.setState({ haveRules: rules.length ? true : false })
}
render() {
- const { rule } = this.state
+ const { rule, haveRules } = this.state
+ const variant = haveRules ? 'success' : 'primary'
return (
-
+
@@ -60,36 +65,34 @@ class BreakPoint extends React.Component {
-
- Method
-
- { this.setState({ rule: { ...rule, method: e.target.value } }) }}>
-
-
-
-
-
-
-
-
-
-
- URL
- { this.setState({ rule: { ...rule, url: e.target.value } }) }} />
-
-
-
- Action
-
- { this.setState({ rule: { ...rule, action: e.target.value } }) }}>
-
-
-
-
-
-
-
+
+ Method
+
+ { this.setState({ rule: { ...rule, method: e.target.value } }) }}>
+
+
+
+
+
+
+
+
+
+
+ URL
+ { this.setState({ rule: { ...rule, url: e.target.value } }) }} />
+
+
+
+ Action
+
+ { this.setState({ rule: { ...rule, action: e.target.value } }) }}>
+
+
+
+
+
+
@@ -97,7 +100,7 @@ class BreakPoint extends React.Component {
Close
diff --git a/addon/web/client/src/message.js b/addon/web/client/src/message.js
index 6205b5c..5490491 100644
--- a/addon/web/client/src/message.js
+++ b/addon/web/client/src/message.js
@@ -52,13 +52,23 @@ export const parseMessage = data => {
export const sendMessageEnum = {
'changeRequest': 11,
'changeResponse': 12,
+ 'dropRequest': 13,
+ 'dropResponse': 14,
'changeBreakPointRules': 21,
}
-// type: 11/12
+// type: 11/12/13/14
// messageEdit
// version 1 byte + type 1 byte + id 36 byte + header len 4 byte + header content bytes + body len 4 byte + [body content bytes]
export const buildMessageEdit = (messageType, flow) => {
+ if (messageType === sendMessageEnum.dropRequest || messageType === sendMessageEnum.dropResponse) {
+ const view = new Uint8Array(38)
+ view[0] = 1
+ view[1] = messageType
+ view.set(new TextEncoder().encode(flow.id), 2)
+ return view
+ }
+
let header, body
if (messageType === sendMessageEnum.changeRequest) {