def readall(self):
        """
        Read and return all the bytes from the stream until EOF.

        Returns:
            bytes: Object content
        """
        if not self._readable:
            raise UnsupportedOperation('read')

        with self._seek_lock:
            # Get data starting from seek
            with handle_os_exceptions():
                if self._seek and self._seekable:
                    data = self._read_range(self._seek)

                # Get all data
                else:
                    data = self._readall()

            # Update seek
            self._seek += len(data)
        return data
def readall ( self ) : if not self . _readable : raise UnsupportedOperation ( 'read' ) with self . _seek_lock : with handle_os_exceptions ( ) : if self . _seek and self . _seekable : data = self . _read_range ( self . _seek ) else : data = self . _readall ( ) self . _seek += len ( data ) return data
Read and return all the bytes from the stream until EOF.

        Returns:
            bytes: Object content