From 74595b7a4a2d16fc42c754f1c3df13c305a99241 Mon Sep 17 00:00:00 2001 From: RemiZOffAlex Date: Sat, 20 Jun 2026 00:40:03 +0300 Subject: [PATCH] Update --- src/nucleus/response/stream.py | 5 +++-- tests/test_response.py | 15 ++++++++++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/nucleus/response/stream.py b/src/nucleus/response/stream.py index 0802c64..c08de87 100644 --- a/src/nucleus/response/stream.py +++ b/src/nucleus/response/stream.py @@ -1,7 +1,7 @@ __author__ = 'RemiZOffAlex' __email__ = 'remizoffalex@mail.ru' -from io import BufferedReader +from io import IOBase BUFF_SIZE = 1024 CRLF = b'\r\n' @@ -74,6 +74,7 @@ def stream_next(state): state.position = 'headers' return raw if state.position == 'headers': + raw = handler_headers(response) state.position = 'body' return raw if state.position == 'body': @@ -98,7 +99,7 @@ class ResponseStream: response = self.response if isinstance(response.data, str): self.handler = str_next - elif isinstance(response.data, BufferedReader): + elif isinstance(response.data, IOBase): self.handler = stream_next elif isinstance(response.data, bytes): self.handler = bytes_next diff --git a/tests/test_response.py b/tests/test_response.py index 6a4a991..8ee2440 100644 --- a/tests/test_response.py +++ b/tests/test_response.py @@ -3,12 +3,25 @@ __email__ = 'remizoffalex@mail.ru' import unittest +from io import BytesIO + from nucleus.response.common import Response from nucleus.response.stream import ResponseStream class TestResponse(unittest.TestCase): - def test_response(self): + def test_response_str(self): response = Response('ok') for item in ResponseStream(response): print(item) + + def test_response_bytes(self): + response = Response(b'ok') + for item in ResponseStream(response): + print(item) + + def test_response_stream(self): + file = BytesIO(b'ok') + response = Response(file) + for item in ResponseStream(response): + print(item)