This commit is contained in:
2021-03-26 18:25:03 +01:00
parent 7476870acc
commit fdbd865889
11 changed files with 297 additions and 136 deletions

View File

@@ -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