a Æ*Naã@s”ddlmZddlmZddlmZddlmZmZdZ e gd¢ƒZ dZ z dd l ZWneyfYn 0e d 7Z eƒZdd d „Zd d„Zdd„Zd S)é)Úabsolute_import)Ú b64encodeé)ÚUnrewindableBodyError)ÚbÚ integer_typesz@@@SKIP_HEADER@@@)úaccept-encodingÚhostú user-agentz gzip,deflateNz,brcCsši}|r6t|tƒrnt|tƒr*d |¡}nt}||d<|rB||d<|rNd|d<|rldtt|ƒƒ d¡|d<|rŠdtt|ƒƒ d¡|d <|r–d |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'} ú,rr 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Úheaders©rúo/private/var/folders/js/6pj4vh5d4zd0k6bxv74qrbhr0000gr/T/pip-target-22xwyzbs/lib/python/urllib3/util/request.pyÚ make_headerss.*   ÿþ rc CsP|durt||ƒn8t|ddƒdurLz | ¡}WnttfyJt}Yn0|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ÚposrrrÚset_file_positionbs   r&c Csrt|ddƒ}|durLt|tƒrLz ||ƒWqnttfyHtdƒ‚Yqn0n"|tur^tdƒ‚ntdt|ƒƒ‚dS)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_seekrrrrts  ÿ ÿ ÿr)NNNNNN)Ú __future__rÚbase64rÚ exceptionsrZ packages.sixrrÚ SKIP_HEADERÚ frozensetÚSKIPPABLE_HEADERSrÚbrotliZ_unused_module_brotliÚ ImportErrorÚobjectr#rr&rrrrrÚs*      ú H