aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJessica Favin <j.favin@hotmail.fr>2018-11-01 19:53:37 +0100
committerJessica Favin <j.favin@hotmail.fr>2018-11-01 19:53:37 +0100
commit2e9a34faa9fc8b0123375f220d785ebf2a10e716 (patch)
tree63227ef8c6779524e8956a130db6d560e83a6435
parentc2e2fd1751bfead2e9373358ad81a62728199309 (diff)
downloadmitmproxy-2e9a34faa9fc8b0123375f220d785ebf2a10e716.tar.gz
mitmproxy-2e9a34faa9fc8b0123375f220d785ebf2a10e716.tar.bz2
mitmproxy-2e9a34faa9fc8b0123375f220d785ebf2a10e716.zip
Display errors on sys.stderr
-rw-r--r--mitmproxy/addons/dumper.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/mitmproxy/addons/dumper.py b/mitmproxy/addons/dumper.py
index 87f45976..4b2357f8 100644
--- a/mitmproxy/addons/dumper.py
+++ b/mitmproxy/addons/dumper.py
@@ -27,9 +27,10 @@ def colorful(line, styles):
class Dumper:
- def __init__(self, outfile=sys.stdout):
+ def __init__(self, outfile=sys.stdout, errfile=sys.stderr):
self.filter: flowfilter.TFilter = None
self.outfp: typing.io.TextIO = outfile
+ self.errfp: typing.io.TextIO = errfile
def load(self, loader):
loader.add_option(
@@ -70,6 +71,13 @@ class Dumper:
if self.outfp:
self.outfp.flush()
+ def echo_error(self, text, ident=None, **style):
+ if ident:
+ text = indent(ident, text)
+ click.secho(text, file=self.errfp, **style)
+ if self.errfp:
+ self.errfp.flush()
+
def _echo_headers(self, headers):
for k, v in headers.fields:
k = strutils.bytes_to_escaped_str(k)
@@ -243,7 +251,7 @@ class Dumper:
self.echo_flow(f)
def websocket_error(self, f):
- self.echo(
+ self.echo_error(
"Error in WebSocket connection to {}: {}".format(
human.format_address(f.server_conn.address), f.error
),
@@ -268,7 +276,7 @@ class Dumper:
f.close_reason))
def tcp_error(self, f):
- self.echo(
+ self.echo_error(
"Error in TCP connection to {}: {}".format(
human.format_address(f.server_conn.address), f.error
),