Re-raise Chunked Encoding Errors as Network Errors

This commit is contained in:
Lorenz Diener 2018-02-20 14:04:17 +01:00
pare d98a3546a3
commit 86ec5d7eca

Veure arxiu

@ -7,6 +7,7 @@ import json
import six
from mastodon import Mastodon
from mastodon.Mastodon import MastodonMalformedEventError
from requests.exceptions import ChunkedEncodingError
class StreamListener(object):
"""Callbacks for the streaming API. Create a subclass, override the on_xxx
@ -43,6 +44,7 @@ class StreamListener(object):
"""
event = {}
line_buffer = bytearray()
try:
for chunk in response.iter_content(chunk_size = 1):
if chunk:
if chunk == b'\n':
@ -61,6 +63,11 @@ class StreamListener(object):
line_buffer = bytearray()
else:
line_buffer.extend(chunk)
except ChunkedEncodingError as err:
six.raise_from(
MastodonNetworkError("Server ceased communication."),
err
)
def _parse_line(self, line, event):
if line.startswith(':'):