Update
This commit is contained in:
@@ -44,25 +44,36 @@ class Retriever(ABC):
|
||||
|
||||
class PreambleRetriever(Retriever):
|
||||
client: HTTPSocket
|
||||
buffer: []
|
||||
_buffer: []
|
||||
|
||||
@property
|
||||
def buffer(self):
|
||||
tmp_buffer = self._buffer
|
||||
self._buffer = []
|
||||
|
||||
return tmp_buffer
|
||||
|
||||
def __init__(self, client: HTTPSocket):
|
||||
super().__init__(client)
|
||||
self.client = client
|
||||
self.buffer = []
|
||||
self._buffer = []
|
||||
|
||||
def retrieve(self):
|
||||
|
||||
line = self.client.read_line()
|
||||
while True:
|
||||
self.buffer.append(line)
|
||||
self._buffer.append(line)
|
||||
|
||||
if line in ("\r\n", "\n", ""):
|
||||
break
|
||||
return line
|
||||
|
||||
yield line
|
||||
line = self.client.read_line()
|
||||
|
||||
def reset_buffer(self, line):
|
||||
self._buffer.clear()
|
||||
self._buffer.append(line)
|
||||
|
||||
|
||||
class ContentLengthRetriever(Retriever):
|
||||
length: int
|
||||
|
Reference in New Issue
Block a user