@@ -1,7 +1,7 @@
|
|||||||
__author__ = 'RemiZOffAlex'
|
__author__ = 'RemiZOffAlex'
|
||||||
__email__ = 'remizoffalex@mail.ru'
|
__email__ = 'remizoffalex@mail.ru'
|
||||||
|
|
||||||
from io import BufferedReader
|
from io import IOBase
|
||||||
|
|
||||||
BUFF_SIZE = 1024
|
BUFF_SIZE = 1024
|
||||||
CRLF = b'\r\n'
|
CRLF = b'\r\n'
|
||||||
@@ -74,6 +74,7 @@ def stream_next(state):
|
|||||||
state.position = 'headers'
|
state.position = 'headers'
|
||||||
return raw
|
return raw
|
||||||
if state.position == 'headers':
|
if state.position == 'headers':
|
||||||
|
raw = handler_headers(response)
|
||||||
state.position = 'body'
|
state.position = 'body'
|
||||||
return raw
|
return raw
|
||||||
if state.position == 'body':
|
if state.position == 'body':
|
||||||
@@ -98,7 +99,7 @@ class ResponseStream:
|
|||||||
response = self.response
|
response = self.response
|
||||||
if isinstance(response.data, str):
|
if isinstance(response.data, str):
|
||||||
self.handler = str_next
|
self.handler = str_next
|
||||||
elif isinstance(response.data, BufferedReader):
|
elif isinstance(response.data, IOBase):
|
||||||
self.handler = stream_next
|
self.handler = stream_next
|
||||||
elif isinstance(response.data, bytes):
|
elif isinstance(response.data, bytes):
|
||||||
self.handler = bytes_next
|
self.handler = bytes_next
|
||||||
|
|||||||
+14
-1
@@ -3,12 +3,25 @@ __email__ = 'remizoffalex@mail.ru'
|
|||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from io import BytesIO
|
||||||
|
|
||||||
from nucleus.response.common import Response
|
from nucleus.response.common import Response
|
||||||
from nucleus.response.stream import ResponseStream
|
from nucleus.response.stream import ResponseStream
|
||||||
|
|
||||||
|
|
||||||
class TestResponse(unittest.TestCase):
|
class TestResponse(unittest.TestCase):
|
||||||
def test_response(self):
|
def test_response_str(self):
|
||||||
response = Response('ok')
|
response = Response('ok')
|
||||||
for item in ResponseStream(response):
|
for item in ResponseStream(response):
|
||||||
print(item)
|
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)
|
||||||
|
|||||||
Reference in New Issue
Block a user