name : makefile.cpython-39.opt-1.pyc
a

t~�`��@s&dZddlZddlmZddd�ZdS)z�
backports.makefile
~~~~~~~~~~~~~~~~~~

Backports the Python 3 ``socket.makefile`` method for use with anything that
wants to create a "fake" socket object.
�N)�SocketIO�rc
Cs�t|�hd�kstd|f��d|v}d|vp2|}d|v}d}	|rL|	d7}	|rX|	d7}	t||	�}
|jd7_|dur|d	}|d
kr�tj}|d
kr�|s�td��|
S|r�|r�t�|
|
|�}n|r�t�|
|�}nt�|
|�}|r�|St�	||||�}||_
|S)z:
    Backport of ``socket.makefile`` from Python 3.5.
    >r�b�wz&invalid mode %r (only r, w, b allowed)rrr��N���rz!unbuffered streams must be binary)�set�
ValueErrorrZ_makefile_refs�io�DEFAULT_BUFFER_SIZE�BufferedRWPair�BufferedReader�BufferedWriter�
TextIOWrapper�mode)
�selfr�	buffering�encoding�errors�newlineZwritingZreadingZbinaryZrawmode�raw�buffer�text�r�G/usr/lib/python3.9/site-packages/urllib3/packages/backports/makefile.py�backport_makefile
s<
r)rNNNN)�__doc__rZsocketrrrrrr�<module>s�

© 2025 Cubjrnet7