'Read up to LEN bytes and return them.
Return zero-length string on EOF.'

def read(self, len=1024, buffer=None):

    self._checkClosed()
    if (not self._sslobj):
        raise ValueError('Read    on    closed    or    unwrapped    SSL    socket.')
    try:
        if (buffer is not None):
            v = self._sslobj.read(len, buffer)
        else:
            v = self._sslobj.read(len)
        return v
    except SSLError as x:
        if ((x.args[0] == SSL_ERROR_EOF) and self.suppress_ragged_eofs):
            if (buffer is not None):
                return 0
            else:
                return ''
        else:
            raise
