From d5e3722c97c2094032fe02095c3b8f7cb4df87c3 Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Sat, 21 Jan 2012 12:43:00 +1300 Subject: Fix an issue caused by some editors when editing a request/response body. Many editors make it hard save a file without a terminating newline on the last line. When editing message bodies, this can cause problems. For now, I just strip the newlines off the end of the body when we return from an editor. --- libmproxy/console.py | 3 ++- libmproxy/proxy.py | 2 +- libmproxy/utils.py | 5 +---- 3 files changed, 4 insertions(+), 6 deletions(-) (limited to 'libmproxy') diff --git a/libmproxy/console.py b/libmproxy/console.py index fb1a2ed0..3e00249d 100644 --- a/libmproxy/console.py +++ b/libmproxy/console.py @@ -454,7 +454,8 @@ class ConnectionView(WWrap): self.flow.backup() if part == "b": - conn.content = self._spawn_editor(conn.content or "") + c = self._spawn_editor(conn.content or "") + conn.content = c.rstrip("\n") elif part == "h": headertext = self._spawn_editor(repr(conn.headers)) headers = flow.Headers() diff --git a/libmproxy/proxy.py b/libmproxy/proxy.py index 32057c24..9b21bd22 100644 --- a/libmproxy/proxy.py +++ b/libmproxy/proxy.py @@ -122,7 +122,7 @@ def parse_request_line(request): if major != 1: raise ProxyError(400, "Unsupported protocol") return method, scheme, host, port, path, minor - + class FileLike: def __init__(self, o): diff --git a/libmproxy/utils.py b/libmproxy/utils.py index a7e41752..108a99cb 100644 --- a/libmproxy/utils.py +++ b/libmproxy/utils.py @@ -413,7 +413,7 @@ def parse_url(url): def parse_size(s): """ Parses a size specification. Valid specifications are: - + 123: bytes 123k: kilobytes 123m: megabytes @@ -437,6 +437,3 @@ def parse_size(s): return int(s) * mult except ValueError: raise ValueError("Invalid size specification: %s"%s) - - - -- cgit v1.2.3