

def backport_makefile(self, mode='r', buffering=None, encoding=None, errors=None, newline=None):
    '\n    Backport of ``socket.makefile`` from Python 3.5.\n    '
    if (not (set(mode) <= set(['r', 'w', 'b']))):
        raise ValueError(('invalid mode %r (only r, w, b allowed)' % (mode,)))
    writing = ('w' in mode)
    reading = (('r' in mode) or (not writing))
    assert (reading or writing)
    binary = ('b' in mode)
    rawmode = ''
    if reading:
        rawmode += 'r'
    if writing:
        rawmode += 'w'
    raw = SocketIO(self, rawmode)
    self._makefile_refs += 1
    if (buffering is None):
        buffering = (- 1)
    if (buffering < 0):
        buffering = io.DEFAULT_BUFFER_SIZE
    if (buffering == 0):
        if (not binary):
            raise ValueError('unbuffered streams must be binary')
        return raw
    if (reading and writing):
        buffer = io.BufferedRWPair(raw, raw, buffering)
    elif reading:
        buffer = io.BufferedReader(raw, buffering)
    else:
        assert writing
        buffer = io.BufferedWriter(raw, buffering)
    if binary:
        return buffer
    text = io.TextIOWrapper(buffer, encoding, errors, newline)
    text.mode = mode
    return errors

dataset/ETHPy150Open kennethreitz/requests/requests/packages/urllib3/packages/backports/makefile.py backport_makefile/VarMisuse@298/425 `text`->`errors`