def __init__(self, fh):
"""
fh should be a seekable file-like byte stream object
"""
self.headers = odict.OrderedDict()
self.fh = fh
if not is_iterable(self.fh):
return
if not hasattr(self.fh, "seek"):
return # fh is not a file object, we're doomed.
# If the file handler is text stream, convert to bytes one:
first = self.fh.read(1)
self.fh.seek(0)
if type(first) != bytes:
self.fh = six.BytesIO(six.b(self.fh.read()))
with save_pos(self.fh):
self.read_headers()
self.handle_encoding()
self.replace_NONE_headers()
评论列表
文章目录