diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2012-01-21 12:43:00 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2012-01-21 12:43:00 +1300 |
commit | d5e3722c97c2094032fe02095c3b8f7cb4df87c3 (patch) | |
tree | 457bc724192c9eae0900aa2e13a09e9d3300d266 | |
parent | 2a09cad420f2d74246deda7c48552b089714a0b6 (diff) | |
download | mitmproxy-d5e3722c97c2094032fe02095c3b8f7cb4df87c3.tar.gz mitmproxy-d5e3722c97c2094032fe02095c3b8f7cb4df87c3.tar.bz2 mitmproxy-d5e3722c97c2094032fe02095c3b8f7cb4df87c3.zip |
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.
-rw-r--r-- | libmproxy/console.py | 3 | ||||
-rw-r--r-- | libmproxy/proxy.py | 2 | ||||
-rw-r--r-- | libmproxy/utils.py | 5 | ||||
-rw-r--r-- | test/serv.py | 4 | ||||
-rw-r--r-- | test/sslserv.py | 2 | ||||
-rw-r--r-- | test/test_server.py | 2 |
6 files changed, 7 insertions, 11 deletions
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) - - - diff --git a/test/serv.py b/test/serv.py index 53747f08..f6dee2cc 100644 --- a/test/serv.py +++ b/test/serv.py @@ -4,7 +4,5 @@ from BaseHTTPServer import HTTPServer import handler def make(port): - server_address = ('', port) + server_address = ('127.0.0.1', port) return HTTPServer(server_address, handler.TestRequestHandler) - - diff --git a/test/sslserv.py b/test/sslserv.py index 4aa4df39..557ce869 100644 --- a/test/sslserv.py +++ b/test/sslserv.py @@ -18,5 +18,5 @@ class SecureHTTPServer(HTTPServer): def make(port): - server_address = ('', port) + server_address = ('127.0.0.1', port) return SecureHTTPServer(server_address, handler.TestRequestHandler) diff --git a/test/test_server.py b/test/test_server.py index 1e3c1df4..b000cc46 100644 --- a/test/test_server.py +++ b/test/test_server.py @@ -41,7 +41,7 @@ class uProxy(tutils.ProxTest): assert f.code == 200 assert f.read() f.close() - + l = self.log() assert l[0].address assert "host" in l[1].headers |