� ��^i���ddlmZddlmZddlmZddlmZmZdZ e gd���Z dZ dd l Ze d z Z n #e$rYnwxYwe��Z dd �Zd �Zd �Zd S)�)�absolute_import)� b64encode�)�UnrewindableBodyError)�b� integer_typesz@@@SKIP_HEADER@@@)�accept-encoding�host� user-agentz gzip,deflateNz,brc��i}|rMt|t��rn2t|t��rd�|��}nt}||d<|r||d<|rd|d<|r5dt t |�����d��z|d<|r5dt t |�����d��z|d <|rd |d <|S) a  Shortcuts for generating request headers. :param keep_alive: If ``True``, adds 'connection: keep-alive' header. :param accept_encoding: Can be a boolean, list, or string. ``True`` translates to 'gzip,deflate'. List will get joined by comma. String will be used as provided. :param user_agent: String representing the user-agent you want, such as "python-urllib3/0.6" :param basic_auth: Colon-separated username:password string for 'authorization: basic ...' auth header. :param proxy_basic_auth: Colon-separated username:password string for 'proxy-authorization: basic ...' auth header. :param disable_cache: If ``True``, adds 'cache-control: no-cache' header. Example:: >>> make_headers(keep_alive=True, user_agent="Batman/1.0") {'connection': 'keep-alive', 'user-agent': 'Batman/1.0'} >>> make_headers(accept_encoding=True) {'accept-encoding': 'gzip,deflate'} �,r r z keep-alive� connectionzBasic zutf-8� authorizationzproxy-authorizationzno-cachez cache-control)� isinstance�str�list�join�ACCEPT_ENCODINGrr�decode)� keep_alive�accept_encoding� user_agent� basic_auth�proxy_basic_auth� disable_cache�headerss ��/builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_vendor/urllib3/util/request.py� make_headersrs��T�G��5� �o�s� +� +� .� � ��� .� .� .�!�h�h��7�7�O�O�-�O�%4��!�"��+� *�� ���-� ,�� ���W�#+�i��*� � �.F�.F�.M�.M�g�.V�.V�#V��� ���)1�I� �� � �5 �5 � �&��/�/�*��%�&��.�#-��� � �N�c��|�t||��nEt|dd���4 |���}n#ttf$r t }YnwxYw|S)z If a position is provided, move file to that point. Otherwise, we'll attempt to record a position for future use. N�tell)� rewind_body�getattrr!�IOError�OSError� _FAILEDTELL)�body�poss r�set_file_positionr)bst��  ���D�#����� ��v�t� $� $� 0� ��)�)�+�+�C�C����!� � � ��C�C�C� ���� �Js�;�A�Ac�$�t|dd��}|�Gt|t��r2 ||��dS#ttf$rt d���wxYw|t urt d���tdt|��z���)z� Attempt to rewind body to a certain position. Primarily used for request redirects and retries. :param body: File-like object that supports seek. :param int pos: Position to seek to in file. �seekNzAAn error occurred when rewinding request body for redirect/retry.zRUnable to record file position for rewinding request body during a redirect/retry.z4body_pos must be of type integer, instead it was %s.) r#rrr$r%rr&� ValueError�type)r'�body_pos� body_seeks rr"r"ts�����f�d�+�+�I����H�m�!D�!D�� � �I�h� � � � � ����!� � � �'�S��� � ���� �[� � �#� 4� � � � � B�T�(�^�^� S� � � s � 7�!A)NNNNNN)� __future__r�base64r� exceptionsr� packages.sixrr� SKIP_HEADER� frozenset�SKIPPABLE_HEADERSr�brotli�_unused_module_brotli� ImportError�objectr&rr)r"�rr�r<s��&�&�&�&�&�&�������.�.�.�.�.�.�+�+�+�+�+�+�+�+� "� ��I�G�G�G�H�H�� ���*�*�*�*��u��O�O��� � � ��D� ���� �f�h�h� ������� E�E�E�E�P���$ � � � � s �7�?�?