diff options
author | Thomas Kriechbaumer <thomas@kriechbaumer.name> | 2016-02-16 20:34:14 +0100 |
---|---|---|
committer | Thomas Kriechbaumer <thomas@kriechbaumer.name> | 2016-02-16 20:37:53 +0100 |
commit | dedca540996f337f3965fb87531fd03d7e27e417 (patch) | |
tree | 26fd182cd12d3c561f2a6baa9db992ffd1080040 /pathod/libpathod/log.py | |
parent | ef8e95956d938fd4891d79fdbfa83f8a77a482cb (diff) | |
download | mitmproxy-dedca540996f337f3965fb87531fd03d7e27e417.tar.gz mitmproxy-dedca540996f337f3965fb87531fd03d7e27e417.tar.bz2 mitmproxy-dedca540996f337f3965fb87531fd03d7e27e417.zip |
rename pathod source directory
Diffstat (limited to 'pathod/libpathod/log.py')
-rw-r--r-- | pathod/libpathod/log.py | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/pathod/libpathod/log.py b/pathod/libpathod/log.py deleted file mode 100644 index f203542f..00000000 --- a/pathod/libpathod/log.py +++ /dev/null @@ -1,83 +0,0 @@ -import datetime - -import netlib.utils -import netlib.tcp -import netlib.http - -TIMEFMT = '%d-%m-%y %H:%M:%S' - - -def write_raw(fp, lines): - if fp: - fp.write( - "%s: " % datetime.datetime.now().strftime(TIMEFMT) - ) - for i in lines: - fp.write(i) - fp.write("\n") - fp.flush() - - -class LogCtx(object): - - def __init__(self, fp, hex, rfile, wfile): - self.lines = [] - self.fp = fp - self.suppressed = False - self.hex = hex - self.rfile, self.wfile = rfile, wfile - - def __enter__(self): - if self.wfile: - self.wfile.start_log() - if self.rfile: - self.rfile.start_log() - return self - - def __exit__(self, exc_type, exc_value, traceback): - wlog = self.wfile.get_log() if self.wfile else None - rlog = self.rfile.get_log() if self.rfile else None - if self.suppressed or not self.fp: - return - if wlog: - self("Bytes written:") - self.dump(wlog, self.hex) - if rlog: - self("Bytes read:") - self.dump(rlog, self.hex) - if self.lines: - write_raw( - self.fp, - [ - "\n".join(self.lines), - ] - ) - if exc_value: - raise exc_type, exc_value, traceback - - def suppress(self): - self.suppressed = True - - def dump(self, data, hexdump): - if hexdump: - for line in netlib.utils.hexdump(data): - self("\t%s %s %s" % line) - else: - for i in netlib.utils.clean_bin(data).split("\n"): - self("\t%s" % i) - - def __call__(self, line): - self.lines.append(line) - - -class ConnectionLogger: - def __init__(self, fp, hex, rfile, wfile): - self.fp = fp - self.hex = hex - self.rfile, self.wfile = rfile, wfile - - def ctx(self): - return LogCtx(self.fp, self.hex, self.rfile, self.wfile) - - def write(self, lines): - write_raw(self.fp, lines) |