diff options
author | Shadab Zafar <dufferzafar0@gmail.com> | 2016-07-15 14:35:18 +0530 |
---|---|---|
committer | Shadab Zafar <dufferzafar0@gmail.com> | 2016-07-16 10:15:38 +0530 |
commit | 262a42055344b9ece7b94dc8ed762d8a9a8882de (patch) | |
tree | 33f2e826a0d19b5929edde412b096159615c61eb /mitmproxy/filt.py | |
parent | 5f7d61f864c93e9a2ee5d6f3a0a1563ea0ac8741 (diff) | |
download | mitmproxy-262a42055344b9ece7b94dc8ed762d8a9a8882de.tar.gz mitmproxy-262a42055344b9ece7b94dc8ed762d8a9a8882de.tar.bz2 mitmproxy-262a42055344b9ece7b94dc8ed762d8a9a8882de.zip |
Use ~bq / ~bs for messages sent from client / server
Diffstat (limited to 'mitmproxy/filt.py')
-rw-r--r-- | mitmproxy/filt.py | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/mitmproxy/filt.py b/mitmproxy/filt.py index 00971218..e0e5606b 100644 --- a/mitmproxy/filt.py +++ b/mitmproxy/filt.py @@ -219,18 +219,14 @@ class FBod(_Rex): @only(HTTPFlow, TCPFlow) def __call__(self, f): - - # HTTPFlow - if hasattr(f, 'request'): + if isinstance(f, HTTPFlow): if f.request and f.request.content: if self.re.search(f.request.get_decoded_content()): return True if f.response and f.response.content: if self.re.search(f.response.get_decoded_content()): return True - - # TCPFlow - elif hasattr(f, 'messages'): + elif isinstance(f, TCPFlow): for msg in f.messages: if self.re.search(msg.content): return True @@ -242,22 +238,32 @@ class FBodRequest(_Rex): code = "bq" help = "Request body" - @only(HTTPFlow) + @only(HTTPFlow, TCPFlow) def __call__(self, f): - if f.request and f.request.content: - if self.re.search(f.request.get_decoded_content()): - return True + if isinstance(f, HTTPFlow): + if f.request and f.request.content: + if self.re.search(f.request.get_decoded_content()): + return True + elif isinstance(f, TCPFlow): + for msg in f.messages: + if msg.from_client and self.re.search(msg.content): + return True class FBodResponse(_Rex): code = "bs" help = "Response body" - @only(HTTPFlow) + @only(HTTPFlow, TCPFlow) def __call__(self, f): - if f.response and f.response.content: - if self.re.search(f.response.get_decoded_content()): - return True + if isinstance(f, HTTPFlow): + if f.response and f.response.content: + if self.re.search(f.response.get_decoded_content()): + return True + elif isinstance(f, TCPFlow): + for msg in f.messages: + if not msg.from_client and self.re.search(msg.content): + return True class FMethod(_Rex): |