diff --git a/gunicorn/http/body.py b/gunicorn/http/body.py index be4460fa..585790d8 100644 --- a/gunicorn/http/body.py +++ b/gunicorn/http/body.py @@ -220,14 +220,15 @@ class Body(object): size = self.getsize(size) if size == 0: return "" - + idx = self.buf.getvalue().find("\n") while idx < 0: + pos = self.buf.tell() - 1 data = self.reader.read(1024) if not len(data): break self.buf.write(data) - idx = self.buf.getvalue().find("\n") + idx = self.buf.getvalue()[pos:].find("\n") if size < self.buf.tell(): break diff --git a/gunicorn/http/wsgi.py b/gunicorn/http/wsgi.py index cb56a80f..a1adc388 100644 --- a/gunicorn/http/wsgi.py +++ b/gunicorn/http/wsgi.py @@ -64,10 +64,8 @@ def create(req, sock, client, server, cfg): remote = forward.split(":") if len(remote) < 2: remote.append('80') - if len(remote) == 1: - remote.append('') else: - remote = forward + remote = forward if isinstance(server, basestring): server = server.split(":")