'Read at most amt bytes from the stream.
If the amt argument is omitted, read all data.'

def read(self, amt=None):

    chunk = self._raw_stream.read(amt)
    self._amount_read += len(chunk)
    if ((not chunk) or (amt is None)):
        self._verify_content_length()
    return chunk
