mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
fix readline in tee
This commit is contained in:
parent
ac74d5079d
commit
cf7322ca43
@ -34,8 +34,8 @@ class TeeInput(object):
|
|||||||
chunk, self.buf = parser.filter_body(buf)
|
chunk, self.buf = parser.filter_body(buf)
|
||||||
if chunk:
|
if chunk:
|
||||||
self.tmp.write(chunk)
|
self.tmp.write(chunk)
|
||||||
self.tmp.seek(0)
|
|
||||||
self._finalize()
|
self._finalize()
|
||||||
|
self.tmp.seek(0)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def len(self):
|
def len(self):
|
||||||
@ -93,12 +93,18 @@ class TeeInput(object):
|
|||||||
|
|
||||||
# now we can get line
|
# now we can get line
|
||||||
line = self.tmp.readline()
|
line = self.tmp.readline()
|
||||||
if size > 0 and len(line) < size:
|
i = line.find("\n")
|
||||||
self.tmp.seek(orig_size)
|
if i == -1:
|
||||||
while True:
|
while True:
|
||||||
|
orig_size = self.tmp.tell()
|
||||||
if not self._tee(CHUNK_SIZE):
|
if not self._tee(CHUNK_SIZE):
|
||||||
self.tmp.seek(orig_size)
|
break
|
||||||
return self.temp.readline(size)
|
self.tmp.seek(orig_size)
|
||||||
|
line = self.tmp.readline()
|
||||||
|
i = line.find("\n")
|
||||||
|
if i != -1:
|
||||||
|
break
|
||||||
|
|
||||||
return line
|
return line
|
||||||
|
|
||||||
def readlines(self, sizehint=0):
|
def readlines(self, sizehint=0):
|
||||||
@ -132,7 +138,8 @@ class TeeInput(object):
|
|||||||
self.tmp.seek(0, os.SEEK_END)
|
self.tmp.seek(0, os.SEEK_END)
|
||||||
return chunk
|
return chunk
|
||||||
|
|
||||||
if self.parser.body_eof(): break
|
if self.parser.body_eof():
|
||||||
|
break
|
||||||
|
|
||||||
data = read_partial(self.socket, length)
|
data = read_partial(self.socket, length)
|
||||||
self.buf += data
|
self.buf += data
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user