
    q"h                         S SK Jr  S SKJr  SSKJr  SSKJrJr  Sr	\
" / SQ5      rSr\" 5       r      SS
 jrS rS rg	)    )absolute_import)	b64encode   )UnrewindableBodyError)binteger_typesz@@@SKIP_HEADER@@@)accept-encodinghost
user-agentzgzip,deflateNc                    0 nU(       aG  [        U[        5      (       a  O-[        U[        5      (       a  SR                  U5      nO[        nXS'   U(       a  X&S'   U (       a  SUS'   U(       a)  S[        [        U5      5      R                  S5      -   US'   U(       a)  S[        [        U5      5      R                  S5      -   US	'   U(       a  S
US'   U$ )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
connectionzBasic zutf-8authorizationzproxy-authorizationzno-cachezcache-control)
isinstancestrlistjoinACCEPT_ENCODINGr   r   decode)
keep_aliveaccept_encoding
user_agent
basic_authproxy_basic_authdisable_cacheheaderss          R/var/www/html/env/lib/python3.13/site-packages/pip/_vendor/urllib3/util/request.pymake_headersr      s    T Gos++..!hh7O-O%4!" * ,#+i*.F.M.Mg.V#V )1I5

&/*%& #- N    c                     Ub  [        X5        U$ [        U SS5      b   U R                  5       nU$ U$ ! [        [        4 a
    [
        n U$ f = f)zs
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)   \   sf    
 D J 
vt	$	0	))+C J3J ! 	 CJ	s   4 AAc                     [        U SS5      nUb  [        U[        5      (       a
   U" U5        gU[        L a  [        S5      e[        S[        U5      -  5      e! [        [        4 a    [        S5      ef = f)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#   r   r   r$   r%   r   r&   
ValueErrortype)r'   body_pos	body_seeks      r   r"   r"   n   s     fd+IHm!D!D	h
 
[	 #4
 	

 BT(^S
 	
 ! 	'S 	s   A A7)NNNNNN)
__future__r   base64r   
exceptionsr   packages.sixr   r   SKIP_HEADER	frozensetSKIPPABLE_HEADERSr   objectr&   r   r)   r"    r   r   <module>r9      sU    &  . + "GH  h EP$
r   