1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
U
I=®dçã@s†ddlmZddlmZddlmZmZddlmZdZ    z ddl
Z Wne k
rXYn
Xe    d7Z    e ƒZdd    d
„Zd d „Zd d„ZdS)é)Úabsolute_import)Ú    b64encodeé)ÚbÚ integer_types)ÚUnrewindableBodyErrorz 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'}
    ú,zaccept-encodingz
user-agentz
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úWD:\z\workplace\VsCode\pyvenv\venv\Lib\site-packages\pip/_vendor/urllib3/util/request.pyÚ make_headerss.*
 
 ÿþ
rc    CsR|dk    rt||ƒn:t|ddƒdk    rNz | ¡}Wnttfk
rLt}YnX|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_positionZs  
r#c    Cstt|ddƒ}|dk    rNt|tƒrNz ||ƒWqpttfk
rJtdƒ‚YqpXn"|tkr`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.)    rr rrrrr Ú
ValueErrorÚtype)r!Úbody_posÚ    body_seekrrrrls  ÿ ÿ
ÿr)NNNNNN)Ú
__future__rÚbase64rZ packages.sixrrÚ
exceptionsrrÚbrotliZ_unused_module_brotliÚ ImportErrorÚobjectr rr#rrrrrÚ<module>s&    ú
H