diff options
author | Jason A. Novak <janovak@uchicago.edu> | 2013-04-21 12:46:37 -0500 |
---|---|---|
committer | Jason A. Novak <janovak@uchicago.edu> | 2013-04-21 12:46:37 -0500 |
commit | f78dada550dac02ea1dc69a7a00fcdfc7a8c996f (patch) | |
tree | e2e0a7b75428573f01343083ad9e68e259f6c63f /libmproxy/console/contentview.py | |
parent | 61c794e08f7b2359f3a7a7658840d3f26db25e16 (diff) | |
download | mitmproxy-f78dada550dac02ea1dc69a7a00fcdfc7a8c996f.tar.gz mitmproxy-f78dada550dac02ea1dc69a7a00fcdfc7a8c996f.tar.bz2 mitmproxy-f78dada550dac02ea1dc69a7a00fcdfc7a8c996f.zip |
Add error checking to ViewProtobuf
There are protobufs that protoc can't parse. When protoc --decode_raw
fails, it returns nothing to stdin, and writes "Failed to parse input."
to stderr. Before this commit, if protoc --decode_raw couldn't parse
the protobuf, the blank stdout output would get returned to the view;
with this commit stderr gets caught and returned to the view.
Diffstat (limited to 'libmproxy/console/contentview.py')
-rw-r--r-- | libmproxy/console/contentview.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libmproxy/console/contentview.py b/libmproxy/console/contentview.py index 53841c73..8dd8ad1d 100644 --- a/libmproxy/console/contentview.py +++ b/libmproxy/console/contentview.py @@ -389,8 +389,11 @@ class ViewProtobuf: stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) - out, _ = p.communicate(input=content) - return out + out, err = p.communicate(input=content) + if out: + return out + else: + return err def __call__(self, hdrs, content, limit): decoded = self.decode_protobuf(content) |