diff options
author | Maximilian Hils <git@maximilianhils.com> | 2017-01-20 15:26:51 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-20 15:26:51 +0100 |
commit | 2ca48e5d0861e1c8ed679a9bb6464c19a5dabedf (patch) | |
tree | 440d6f2c9af2a0ff5aa878cc72a041f67f7d09ee /web/src | |
parent | 9a88a2fdea727c6ab4c20926527ef8a4abae0f40 (diff) | |
parent | bc8f5a2d712599f016a7a0fc46681206e0984cc9 (diff) | |
download | mitmproxy-2ca48e5d0861e1c8ed679a9bb6464c19a5dabedf.tar.gz mitmproxy-2ca48e5d0861e1c8ed679a9bb6464c19a5dabedf.tar.bz2 mitmproxy-2ca48e5d0861e1c8ed679a9bb6464c19a5dabedf.zip |
Merge pull request #1940 from s4chin/add-marked-filter
web: Add ~marked filter
Diffstat (limited to 'web/src')
-rw-r--r-- | web/src/js/components/FlowView.jsx | 2 | ||||
-rw-r--r-- | web/src/js/filt/filt.js | 352 | ||||
-rw-r--r-- | web/src/js/filt/filt.peg | 15 |
3 files changed, 198 insertions, 171 deletions
diff --git a/web/src/js/components/FlowView.jsx b/web/src/js/components/FlowView.jsx index 72cffdfe..d03d681a 100644 --- a/web/src/js/components/FlowView.jsx +++ b/web/src/js/components/FlowView.jsx @@ -9,7 +9,7 @@ import Prompt from './Prompt' import { selectTab } from '../ducks/ui/flow' -export default class FlowView extends Component { +class FlowView extends Component { static allTabs = { Request, Response, Error, Details } diff --git a/web/src/js/filt/filt.js b/web/src/js/filt/filt.js index 6a0bbab7..e241d63f 100644 --- a/web/src/js/filt/filt.js +++ b/web/src/js/filt/filt.js @@ -71,73 +71,76 @@ module.exports = (function() { peg$c32 = "~s", peg$c33 = { type: "literal", value: "~s", description: "\"~s\"" }, peg$c34 = function() { return responseFilter; }, - peg$c35 = "true", - peg$c36 = { type: "literal", value: "true", description: "\"true\"" }, - peg$c37 = function() { return trueFilter; }, - peg$c38 = "false", - peg$c39 = { type: "literal", value: "false", description: "\"false\"" }, - peg$c40 = function() { return falseFilter; }, - peg$c41 = "~c", - peg$c42 = { type: "literal", value: "~c", description: "\"~c\"" }, - peg$c43 = function(s) { return responseCode(s); }, - peg$c44 = "~d", - peg$c45 = { type: "literal", value: "~d", description: "\"~d\"" }, - peg$c46 = function(s) { return domain(s); }, - peg$c47 = "~h", - peg$c48 = { type: "literal", value: "~h", description: "\"~h\"" }, - peg$c49 = function(s) { return header(s); }, - peg$c50 = "~hq", - peg$c51 = { type: "literal", value: "~hq", description: "\"~hq\"" }, - peg$c52 = function(s) { return requestHeader(s); }, - peg$c53 = "~hs", - peg$c54 = { type: "literal", value: "~hs", description: "\"~hs\"" }, - peg$c55 = function(s) { return responseHeader(s); }, - peg$c56 = "~m", - peg$c57 = { type: "literal", value: "~m", description: "\"~m\"" }, - peg$c58 = function(s) { return method(s); }, - peg$c59 = "~t", - peg$c60 = { type: "literal", value: "~t", description: "\"~t\"" }, - peg$c61 = function(s) { return contentType(s); }, - peg$c62 = "~tq", - peg$c63 = { type: "literal", value: "~tq", description: "\"~tq\"" }, - peg$c64 = function(s) { return requestContentType(s); }, - peg$c65 = "~ts", - peg$c66 = { type: "literal", value: "~ts", description: "\"~ts\"" }, - peg$c67 = function(s) { return responseContentType(s); }, - peg$c68 = "~u", - peg$c69 = { type: "literal", value: "~u", description: "\"~u\"" }, - peg$c70 = function(s) { return url(s); }, - peg$c71 = { type: "other", description: "integer" }, - peg$c72 = /^['"]/, - peg$c73 = { type: "class", value: "['\"]", description: "['\"]" }, - peg$c74 = /^[0-9]/, - peg$c75 = { type: "class", value: "[0-9]", description: "[0-9]" }, - peg$c76 = function(digits) { return parseInt(digits.join(""), 10); }, - peg$c77 = { type: "other", description: "string" }, - peg$c78 = "\"", - peg$c79 = { type: "literal", value: "\"", description: "\"\\\"\"" }, - peg$c80 = function(chars) { return chars.join(""); }, - peg$c81 = "'", - peg$c82 = { type: "literal", value: "'", description: "\"'\"" }, - peg$c83 = /^["\\]/, - peg$c84 = { type: "class", value: "[\"\\\\]", description: "[\"\\\\]" }, - peg$c85 = { type: "any", description: "any character" }, - peg$c86 = function(char) { return char; }, - peg$c87 = "\\", - peg$c88 = { type: "literal", value: "\\", description: "\"\\\\\"" }, - peg$c89 = /^['\\]/, - peg$c90 = { type: "class", value: "['\\\\]", description: "['\\\\]" }, - peg$c91 = /^['"\\]/, - peg$c92 = { type: "class", value: "['\"\\\\]", description: "['\"\\\\]" }, - peg$c93 = "n", - peg$c94 = { type: "literal", value: "n", description: "\"n\"" }, - peg$c95 = function() { return "\n"; }, - peg$c96 = "r", - peg$c97 = { type: "literal", value: "r", description: "\"r\"" }, - peg$c98 = function() { return "\r"; }, - peg$c99 = "t", - peg$c100 = { type: "literal", value: "t", description: "\"t\"" }, - peg$c101 = function() { return "\t"; }, + peg$c35 = "~marked", + peg$c36 = { type: "literal", value: "~marked", description: "\"~marked\"" }, + peg$c37 = function() { return markedFilter; }, + peg$c38 = "true", + peg$c39 = { type: "literal", value: "true", description: "\"true\"" }, + peg$c40 = function() { return trueFilter; }, + peg$c41 = "false", + peg$c42 = { type: "literal", value: "false", description: "\"false\"" }, + peg$c43 = function() { return falseFilter; }, + peg$c44 = "~c", + peg$c45 = { type: "literal", value: "~c", description: "\"~c\"" }, + peg$c46 = function(s) { return responseCode(s); }, + peg$c47 = "~d", + peg$c48 = { type: "literal", value: "~d", description: "\"~d\"" }, + peg$c49 = function(s) { return domain(s); }, + peg$c50 = "~h", + peg$c51 = { type: "literal", value: "~h", description: "\"~h\"" }, + peg$c52 = function(s) { return header(s); }, + peg$c53 = "~hq", + peg$c54 = { type: "literal", value: "~hq", description: "\"~hq\"" }, + peg$c55 = function(s) { return requestHeader(s); }, + peg$c56 = "~hs", + peg$c57 = { type: "literal", value: "~hs", description: "\"~hs\"" }, + peg$c58 = function(s) { return responseHeader(s); }, + peg$c59 = "~m", + peg$c60 = { type: "literal", value: "~m", description: "\"~m\"" }, + peg$c61 = function(s) { return method(s); }, + peg$c62 = "~t", + peg$c63 = { type: "literal", value: "~t", description: "\"~t\"" }, + peg$c64 = function(s) { return contentType(s); }, + peg$c65 = "~tq", + peg$c66 = { type: "literal", value: "~tq", description: "\"~tq\"" }, + peg$c67 = function(s) { return requestContentType(s); }, + peg$c68 = "~ts", + peg$c69 = { type: "literal", value: "~ts", description: "\"~ts\"" }, + peg$c70 = function(s) { return responseContentType(s); }, + peg$c71 = "~u", + peg$c72 = { type: "literal", value: "~u", description: "\"~u\"" }, + peg$c73 = function(s) { return url(s); }, + peg$c74 = { type: "other", description: "integer" }, + peg$c75 = /^['"]/, + peg$c76 = { type: "class", value: "['\"]", description: "['\"]" }, + peg$c77 = /^[0-9]/, + peg$c78 = { type: "class", value: "[0-9]", description: "[0-9]" }, + peg$c79 = function(digits) { return parseInt(digits.join(""), 10); }, + peg$c80 = { type: "other", description: "string" }, + peg$c81 = "\"", + peg$c82 = { type: "literal", value: "\"", description: "\"\\\"\"" }, + peg$c83 = function(chars) { return chars.join(""); }, + peg$c84 = "'", + peg$c85 = { type: "literal", value: "'", description: "\"'\"" }, + peg$c86 = /^["\\]/, + peg$c87 = { type: "class", value: "[\"\\\\]", description: "[\"\\\\]" }, + peg$c88 = { type: "any", description: "any character" }, + peg$c89 = function(char) { return char; }, + peg$c90 = "\\", + peg$c91 = { type: "literal", value: "\\", description: "\"\\\\\"" }, + peg$c92 = /^['\\]/, + peg$c93 = { type: "class", value: "['\\\\]", description: "['\\\\]" }, + peg$c94 = /^['"\\]/, + peg$c95 = { type: "class", value: "['\"\\\\]", description: "['\"\\\\]" }, + peg$c96 = "n", + peg$c97 = { type: "literal", value: "n", description: "\"n\"" }, + peg$c98 = function() { return "\n"; }, + peg$c99 = "r", + peg$c100 = { type: "literal", value: "r", description: "\"r\"" }, + peg$c101 = function() { return "\r"; }, + peg$c102 = "t", + peg$c103 = { type: "literal", value: "t", description: "\"t\"" }, + peg$c104 = function() { return "\t"; }, peg$currPos = 0, peg$savedPos = 0, @@ -716,6 +719,21 @@ module.exports = (function() { s1 = peg$c34(); } s0 = s1; + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (input.substr(peg$currPos, 7) === peg$c35) { + s1 = peg$c35; + peg$currPos += 7; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c36); } + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c37(); + } + s0 = s1; + } } } } @@ -728,30 +746,30 @@ module.exports = (function() { var s0, s1; s0 = peg$currPos; - if (input.substr(peg$currPos, 4) === peg$c35) { - s1 = peg$c35; + if (input.substr(peg$currPos, 4) === peg$c38) { + s1 = peg$c38; peg$currPos += 4; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c36); } + if (peg$silentFails === 0) { peg$fail(peg$c39); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c37(); + s1 = peg$c40(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 5) === peg$c38) { - s1 = peg$c38; + if (input.substr(peg$currPos, 5) === peg$c41) { + s1 = peg$c41; peg$currPos += 5; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c39); } + if (peg$silentFails === 0) { peg$fail(peg$c42); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c40(); + s1 = peg$c43(); } s0 = s1; } @@ -763,12 +781,12 @@ module.exports = (function() { var s0, s1, s2, s3; s0 = peg$currPos; - if (input.substr(peg$currPos, 2) === peg$c41) { - s1 = peg$c41; + if (input.substr(peg$currPos, 2) === peg$c44) { + s1 = peg$c44; peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c42); } + if (peg$silentFails === 0) { peg$fail(peg$c45); } } if (s1 !== peg$FAILED) { s2 = []; @@ -785,7 +803,7 @@ module.exports = (function() { s3 = peg$parseIntegerLiteral(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c43(s3); + s1 = peg$c46(s3); s0 = s1; } else { peg$currPos = s0; @@ -801,12 +819,12 @@ module.exports = (function() { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 2) === peg$c44) { - s1 = peg$c44; + if (input.substr(peg$currPos, 2) === peg$c47) { + s1 = peg$c47; peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c45); } + if (peg$silentFails === 0) { peg$fail(peg$c48); } } if (s1 !== peg$FAILED) { s2 = []; @@ -823,7 +841,7 @@ module.exports = (function() { s3 = peg$parseStringLiteral(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c46(s3); + s1 = peg$c49(s3); s0 = s1; } else { peg$currPos = s0; @@ -839,12 +857,12 @@ module.exports = (function() { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 2) === peg$c47) { - s1 = peg$c47; + if (input.substr(peg$currPos, 2) === peg$c50) { + s1 = peg$c50; peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c48); } + if (peg$silentFails === 0) { peg$fail(peg$c51); } } if (s1 !== peg$FAILED) { s2 = []; @@ -861,7 +879,7 @@ module.exports = (function() { s3 = peg$parseStringLiteral(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c49(s3); + s1 = peg$c52(s3); s0 = s1; } else { peg$currPos = s0; @@ -877,12 +895,12 @@ module.exports = (function() { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 3) === peg$c50) { - s1 = peg$c50; + if (input.substr(peg$currPos, 3) === peg$c53) { + s1 = peg$c53; peg$currPos += 3; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c51); } + if (peg$silentFails === 0) { peg$fail(peg$c54); } } if (s1 !== peg$FAILED) { s2 = []; @@ -899,7 +917,7 @@ module.exports = (function() { s3 = peg$parseStringLiteral(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c52(s3); + s1 = peg$c55(s3); s0 = s1; } else { peg$currPos = s0; @@ -915,12 +933,12 @@ module.exports = (function() { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 3) === peg$c53) { - s1 = peg$c53; + if (input.substr(peg$currPos, 3) === peg$c56) { + s1 = peg$c56; peg$currPos += 3; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c54); } + if (peg$silentFails === 0) { peg$fail(peg$c57); } } if (s1 !== peg$FAILED) { s2 = []; @@ -937,7 +955,7 @@ module.exports = (function() { s3 = peg$parseStringLiteral(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c55(s3); + s1 = peg$c58(s3); s0 = s1; } else { peg$currPos = s0; @@ -953,12 +971,12 @@ module.exports = (function() { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 2) === peg$c56) { - s1 = peg$c56; + if (input.substr(peg$currPos, 2) === peg$c59) { + s1 = peg$c59; peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c57); } + if (peg$silentFails === 0) { peg$fail(peg$c60); } } if (s1 !== peg$FAILED) { s2 = []; @@ -975,7 +993,7 @@ module.exports = (function() { s3 = peg$parseStringLiteral(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c58(s3); + s1 = peg$c61(s3); s0 = s1; } else { peg$currPos = s0; @@ -991,12 +1009,12 @@ module.exports = (function() { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 2) === peg$c59) { - s1 = peg$c59; + if (input.substr(peg$currPos, 2) === peg$c62) { + s1 = peg$c62; peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c60); } + if (peg$silentFails === 0) { peg$fail(peg$c63); } } if (s1 !== peg$FAILED) { s2 = []; @@ -1013,7 +1031,7 @@ module.exports = (function() { s3 = peg$parseStringLiteral(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c61(s3); + s1 = peg$c64(s3); s0 = s1; } else { peg$currPos = s0; @@ -1029,12 +1047,12 @@ module.exports = (function() { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 3) === peg$c62) { - s1 = peg$c62; + if (input.substr(peg$currPos, 3) === peg$c65) { + s1 = peg$c65; peg$currPos += 3; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c63); } + if (peg$silentFails === 0) { peg$fail(peg$c66); } } if (s1 !== peg$FAILED) { s2 = []; @@ -1051,7 +1069,7 @@ module.exports = (function() { s3 = peg$parseStringLiteral(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c64(s3); + s1 = peg$c67(s3); s0 = s1; } else { peg$currPos = s0; @@ -1067,12 +1085,12 @@ module.exports = (function() { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 3) === peg$c65) { - s1 = peg$c65; + if (input.substr(peg$currPos, 3) === peg$c68) { + s1 = peg$c68; peg$currPos += 3; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c66); } + if (peg$silentFails === 0) { peg$fail(peg$c69); } } if (s1 !== peg$FAILED) { s2 = []; @@ -1089,7 +1107,7 @@ module.exports = (function() { s3 = peg$parseStringLiteral(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c67(s3); + s1 = peg$c70(s3); s0 = s1; } else { peg$currPos = s0; @@ -1105,12 +1123,12 @@ module.exports = (function() { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 2) === peg$c68) { - s1 = peg$c68; + if (input.substr(peg$currPos, 2) === peg$c71) { + s1 = peg$c71; peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c69); } + if (peg$silentFails === 0) { peg$fail(peg$c72); } } if (s1 !== peg$FAILED) { s2 = []; @@ -1127,7 +1145,7 @@ module.exports = (function() { s3 = peg$parseStringLiteral(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c70(s3); + s1 = peg$c73(s3); s0 = s1; } else { peg$currPos = s0; @@ -1146,7 +1164,7 @@ module.exports = (function() { s1 = peg$parseStringLiteral(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c70(s1); + s1 = peg$c73(s1); } s0 = s1; } @@ -1168,53 +1186,53 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; - if (peg$c72.test(input.charAt(peg$currPos))) { + if (peg$c75.test(input.charAt(peg$currPos))) { s1 = input.charAt(peg$currPos); peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c73); } + if (peg$silentFails === 0) { peg$fail(peg$c76); } } if (s1 === peg$FAILED) { s1 = null; } if (s1 !== peg$FAILED) { s2 = []; - if (peg$c74.test(input.charAt(peg$currPos))) { + if (peg$c77.test(input.charAt(peg$currPos))) { s3 = input.charAt(peg$currPos); peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c75); } + if (peg$silentFails === 0) { peg$fail(peg$c78); } } if (s3 !== peg$FAILED) { while (s3 !== peg$FAILED) { s2.push(s3); - if (peg$c74.test(input.charAt(peg$currPos))) { + if (peg$c77.test(input.charAt(peg$currPos))) { s3 = input.charAt(peg$currPos); peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c75); } + if (peg$silentFails === 0) { peg$fail(peg$c78); } } } } else { s2 = peg$FAILED; } if (s2 !== peg$FAILED) { - if (peg$c72.test(input.charAt(peg$currPos))) { + if (peg$c75.test(input.charAt(peg$currPos))) { s3 = input.charAt(peg$currPos); peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c73); } + if (peg$silentFails === 0) { peg$fail(peg$c76); } } if (s3 === peg$FAILED) { s3 = null; } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c76(s2); + s1 = peg$c79(s2); s0 = s1; } else { peg$currPos = s0; @@ -1231,7 +1249,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c71); } + if (peg$silentFails === 0) { peg$fail(peg$c74); } } return s0; @@ -1243,11 +1261,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 34) { - s1 = peg$c78; + s1 = peg$c81; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c79); } + if (peg$silentFails === 0) { peg$fail(peg$c82); } } if (s1 !== peg$FAILED) { s2 = []; @@ -1258,15 +1276,15 @@ module.exports = (function() { } if (s2 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 34) { - s3 = peg$c78; + s3 = peg$c81; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c79); } + if (peg$silentFails === 0) { peg$fail(peg$c82); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c80(s2); + s1 = peg$c83(s2); s0 = s1; } else { peg$currPos = s0; @@ -1283,11 +1301,11 @@ module.exports = (function() { if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 39) { - s1 = peg$c81; + s1 = peg$c84; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c82); } + if (peg$silentFails === 0) { peg$fail(peg$c85); } } if (s1 !== peg$FAILED) { s2 = []; @@ -1298,15 +1316,15 @@ module.exports = (function() { } if (s2 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 39) { - s3 = peg$c81; + s3 = peg$c84; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c82); } + if (peg$silentFails === 0) { peg$fail(peg$c85); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c80(s2); + s1 = peg$c83(s2); s0 = s1; } else { peg$currPos = s0; @@ -1345,7 +1363,7 @@ module.exports = (function() { } if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c80(s2); + s1 = peg$c83(s2); s0 = s1; } else { peg$currPos = s0; @@ -1360,7 +1378,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c77); } + if (peg$silentFails === 0) { peg$fail(peg$c80); } } return s0; @@ -1372,12 +1390,12 @@ module.exports = (function() { s0 = peg$currPos; s1 = peg$currPos; peg$silentFails++; - if (peg$c83.test(input.charAt(peg$currPos))) { + if (peg$c86.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c84); } + if (peg$silentFails === 0) { peg$fail(peg$c87); } } peg$silentFails--; if (s2 === peg$FAILED) { @@ -1392,11 +1410,11 @@ module.exports = (function() { peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c85); } + if (peg$silentFails === 0) { peg$fail(peg$c88); } } if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c86(s2); + s1 = peg$c89(s2); s0 = s1; } else { peg$currPos = s0; @@ -1409,17 +1427,17 @@ module.exports = (function() { if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c87; + s1 = peg$c90; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c88); } + if (peg$silentFails === 0) { peg$fail(peg$c91); } } if (s1 !== peg$FAILED) { s2 = peg$parseEscapeSequence(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c86(s2); + s1 = peg$c89(s2); s0 = s1; } else { peg$currPos = s0; @@ -1440,12 +1458,12 @@ module.exports = (function() { s0 = peg$currPos; s1 = peg$currPos; peg$silentFails++; - if (peg$c89.test(input.charAt(peg$currPos))) { + if (peg$c92.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c90); } + if (peg$silentFails === 0) { peg$fail(peg$c93); } } peg$silentFails--; if (s2 === peg$FAILED) { @@ -1460,11 +1478,11 @@ module.exports = (function() { peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c85); } + if (peg$silentFails === 0) { peg$fail(peg$c88); } } if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c86(s2); + s1 = peg$c89(s2); s0 = s1; } else { peg$currPos = s0; @@ -1477,17 +1495,17 @@ module.exports = (function() { if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c87; + s1 = peg$c90; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c88); } + if (peg$silentFails === 0) { peg$fail(peg$c91); } } if (s1 !== peg$FAILED) { s2 = peg$parseEscapeSequence(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c86(s2); + s1 = peg$c89(s2); s0 = s1; } else { peg$currPos = s0; @@ -1522,11 +1540,11 @@ module.exports = (function() { peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c85); } + if (peg$silentFails === 0) { peg$fail(peg$c88); } } if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c86(s2); + s1 = peg$c89(s2); s0 = s1; } else { peg$currPos = s0; @@ -1543,53 +1561,53 @@ module.exports = (function() { function peg$parseEscapeSequence() { var s0, s1; - if (peg$c91.test(input.charAt(peg$currPos))) { + if (peg$c94.test(input.charAt(peg$currPos))) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c92); } + if (peg$silentFails === 0) { peg$fail(peg$c95); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 110) { - s1 = peg$c93; + s1 = peg$c96; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c94); } + if (peg$silentFails === 0) { peg$fail(peg$c97); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c95(); + s1 = peg$c98(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 114) { - s1 = peg$c96; + s1 = peg$c99; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c97); } + if (peg$silentFails === 0) { peg$fail(peg$c100); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c98(); + s1 = peg$c101(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 116) { - s1 = peg$c99; + s1 = peg$c102; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c100); } + if (peg$silentFails === 0) { peg$fail(peg$c103); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c101(); + s1 = peg$c104(); } s0 = s1; } @@ -1716,6 +1734,10 @@ module.exports = (function() { methodFilter.desc = "method matches " + regex; return methodFilter; } + function markedFilter(flow){ + return flow.marked; + } + markedFilter.desc = "is marked"; function noResponseFilter(flow){ return flow.request && !flow.response; } diff --git a/web/src/js/filt/filt.peg b/web/src/js/filt/filt.peg index ccaaa072..352b1337 100644 --- a/web/src/js/filt/filt.peg +++ b/web/src/js/filt/filt.peg @@ -117,6 +117,10 @@ function method(regex){ methodFilter.desc = "method matches " + regex; return methodFilter; } +function markedFilter(flow){ + return flow.marked; +} +markedFilter.desc = "is marked"; function noResponseFilter(flow){ return flow.request && !flow.response; } @@ -172,24 +176,24 @@ cc "control character" = [|&!()~"] __ "optional whitespace" = ws* OrExpr - = first:AndExpr __ "|" __ second:OrExpr + = first:AndExpr __ "|" __ second:OrExpr { return or(first, second); } / AndExpr AndExpr - = first:NotExpr __ "&" __ second:AndExpr + = first:NotExpr __ "&" __ second:AndExpr { return and(first, second); } - / first:NotExpr ws+ second:AndExpr + / first:NotExpr ws+ second:AndExpr { return and(first, second); } / NotExpr NotExpr - = "!" __ expr:NotExpr + = "!" __ expr:NotExpr { return not(expr); } / BindingExpr BindingExpr - = "(" __ expr:OrExpr __ ")" + = "(" __ expr:OrExpr __ ")" { return binding(expr); } / Expr @@ -203,6 +207,7 @@ NullaryExpr / "~e" { return errorFilter; } / "~q" { return noResponseFilter; } / "~s" { return responseFilter; } + / "~marked" { return markedFilter; } BooleanLiteral |