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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
Ë
ê^i‚1ãó—ddlmZddlZddlZddlZddlZddlZddlZddl    Zddl
Zddl m Z ddl mZddlmZmZddlmZddlmZeZej.d    «Zej2e«Zej8d
«Zej8d «Zdd „Zdd „Z Gd„dejBe«Z"Gd„de«Z#Gd„de«Z$y)é)Ú annotationsNé)Ú
_TYPE_BODY)ÚHTTPHeaderDict)ÚHTTPSConnectionÚ_get_default_user_agent)ÚConnectionError)ÚBaseHTTPResponseÚTs^[!#$%&'*+\-.^_`|~0-9a-z]+$s*[\0\x00\x0a\x0d\r\n]|^[ \r\n\t]|[ \r\n\t]$có>—ttj|««S)a5
    "An implementation that validates fields according to the definitions in Sections
    5.1 and 5.5 of [HTTP] only needs an additional check that field names do not
    include uppercase characters." (https://httpwg.org/specs/rfc9113.html#n-field-validity)
 
    `http.client._is_legal_header_name` does not validate the field name according to the
    HTTP 1.1 spec, so we do that here, in addition to checking for uppercase characters.
 
    This does not allow for the `:` character in the header name, so should not
    be used to validate pseudo-headers.
    )ÚboolÚRE_IS_LEGAL_HEADER_NAMEÚmatch)Únames õkH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\urllib3/http2/connection.pyÚ_is_legal_header_namers€ô Ô'×-Ñ-¨dÓ3Ó 4Ð4ócó>—ttj|««S)aK
    "A field value MUST NOT contain the zero value (ASCII NUL, 0x00), line feed
    (ASCII LF, 0x0a), or carriage return (ASCII CR, 0x0d) at any position. A field
    value MUST NOT start or end with an ASCII whitespace character (ASCII SP or HTAB,
    0x20 or 0x09)." (https://httpwg.org/specs/rfc9113.html#n-field-validity)
    )r ÚRE_IS_ILLEGAL_HEADER_VALUEÚsearch)Úvalues rÚ_is_illegal_header_valuer,s€ô Ô*×1Ñ1°%Ó8Ó 9Ð9rcó<—eZdZdZdZdd„Zdd„Z                                d    d„Zy)
Ú _LockedObjectaX
    A wrapper class that hides a specific object behind a lock.
    The goal here is to provide a simple way to protect access to an object
    that cannot safely be simultaneously accessed from multiple threads. The
    intended use of this class is simple: take hold of it with a context
    manager, which returns the protected object.
    )ÚlockÚ_objcóD—tj«|_||_y©N)Ú    threadingÚRLockrr)ÚselfÚobjs  rÚ__init__z_LockedObject.__init__Ds€Ü—O‘OÓ%ˆŒ    Øˆ    rcóN—|jj«|jSr)rÚacquirer©r!s rÚ    __enter__z_LockedObject.__enter__Hs€Ø     ‰    ×ÑÔØy‰yÐrcó8—|jj«yr)rÚrelease)r!Úexc_typeÚexc_valÚexc_tbs    rÚ__exit__z_LockedObject.__exit__Ls€ð          ‰    ×ÑÕrN)r"r )Úreturnr )r*ztype[BaseException] | Noner+zBaseException | Noner,ztypes.TracebackType | Noner.ÚNone)Ú__name__Ú
__module__Ú __qualname__Ú__doc__Ú    __slots__r#r'r-©rrrr6sC„ñð€Ió
óðà,ðð&ðð+ð    ð
 
ô rrcó쇗eZdZ    d                            dˆfd„ Zdd„Zdˆfd„ Z                                dd„Zdd„Zddd„Zdd„Z                d                                    dd„Z
        dd    „Z         dd
d
d
d œ                                                                    dd „Z dˆfd „ Z ˆxZS)ÚHTTP2Connectionc ó•—|j«|_d|_g|_d|vsd|vr t    d«‚t ‰|||fi|¤Ž|j t    d«‚y)NÚproxyÚ proxy_configz$Proxies aren't supported with HTTP/2z%Tunneling isn't supported with HTTP/2)Ú _new_h2_connÚ_h2_connÚ
_h2_streamÚ_headersÚNotImplementedErrorÚsuperr#Ú _tunnel_host)r!ÚhostÚportÚkwargsÚ    __class__s    €rr#zHTTP2Connection.__init__Vsoø€ð×)Ñ)Ó+ˆŒ Ø&*ˆŒØ35ˆŒ à fÑ  °&Ñ 8Ü%Ð&LÓMÐ Mä ‰Ñ˜˜tÑ. vÒ.à × Ñ Ð (Ü%Ð&MÓNÐ Nð )rcó”—tjjd¬«}ttjj |¬««S)NT)Ú client_side)Úconfig)Úh2rHÚH2ConfigurationrÚ
connectionÚ H2Connection)r!rHs  rr;zHTTP2Connection._new_h2_connes6€Ü—‘×*Ñ*°tÐ*Ó<ˆÜœRŸ]™]×7Ñ7¸vÐ7ÓFÓGÐGrcóޕ—t‰|«|j5}|j«|j    «x}r|j
j |«ddd«y#1swYyxYwr)r@Úconnectr<Úinitiate_connectionÚ data_to_sendÚsockÚsendall)r!ÚconnrPrEs   €rrNzHTTP2Connection.connectis]ø€Ü ‰‰ÔØ ]‰]ð    0˜dØ × $Ñ $Ô &Ø#×0Ñ0Ó2Ð2ˆ|Ð2Ø—    ‘    ×!Ñ! ,Ô/÷    0÷    0ñ    0ús œ>A#Á#A,c ó¸—d|vr td«‚d|vr td«‚|xsd|_|j|«d|jvr!d|j›d|jxsd    ›}n|j›d|jxsd    ›}|j
j d
«|j
j d |j«f«|j
j d |j«f«|j
j d |j«f«|j5}|j«|_
ddd«y#1swYyxYw)z®putrequest
        This deviates from the HTTPConnection method signature since we never need to override
        sending accept-encoding headers or the host header.
        Ú    skip_hostz`skip_host` isn't supportedÚskip_accept_encodingz&`skip_accept_encoding` isn't supportedú/ú:ú[z]:i»)s:schemeshttpss:methods
:authoritys:pathN) r?Ú _request_urlÚ_validate_pathrBrCr>ÚappendÚencoder<Úget_next_available_stream_idr=)r!ÚmethodÚurlrDÚ    authorityrSs      rÚ
putrequestzHTTP2Connection.putrequestps/€ð ˜&Ñ  Ü%Ð&CÓDÐ DØ ! VÑ +Ü%Ð&NÓOÐ OàšJ 3ˆÔØ ×јCÔ à $—)‘)Ñ Ø˜DŸI™I˜; b¨¯©Ò)9°cÐ(:Ð;‰IàŸ9™9˜+ Q t§y¡yÒ'7°CÐ&8Ð9ˆIà  ‰ ×ÑÐ3Ô4Ø  ‰ ×јj¨&¯-©-«/Ð:Ô;Ø  ‰ ×јm¨Y×-=Ñ-=Ó-?Ð@ÔAØ  ‰ ×јh¨¯
©
« Ð5Ô6à ]‰]ð    B˜dØ"×?Ñ?ÓAˆDŒO÷    B÷    Bñ    Bús Ä1EÅEcó|—t|t«r|j«n|}|j«}t    |«st dt|«›«‚|D]c}t|t«r|j«n|}t |«rt dt|«›«‚|jj||f«Œey)NzIllegal header name zIllegal header value )    Ú
isinstanceÚstrr]ÚlowerrÚ
ValueErrorrr>r\)r!ÚheaderÚvaluesrs    rÚ    putheaderzHTTP2Connection.putheadersœ€ä$.¨v´sÔ$;—‘”ÀˆØ—‘“ˆÜ$ VÔ,ÜÐ3´C¸³K°=ÐAÓBÐ Bàò    2ˆEÜ&0°¼Ô&<E—L‘L”NÀ%ˆEÜ'¨Ô.Ü Ð#8¼¸U»¸ Ð!EÓFÐFØ M‰M×  Ñ   &¨% Õ 1ñ        2rcó>—|j€ td«‚|j5}|j|j|j|du¬«|j «x}r|j j|«ddd«g|_y#1swYg|_yxYw)NúMust call `putrequest` first.)Ú    stream_idÚheadersÚ
end_stream)r=r    r<Ú send_headersr>rPrQrR)r!Ú message_bodyrSrPs    rÚ
endheaderszHTTP2Connection.endheadersœs”€Ø ?‰?Ð "Ü!Ð"AÓBÐ Bà ]‰]ð    0˜dØ × Ñ ØŸ/™/ØŸ ™ Ø(¨DÐ0ð ô ð
 $×0Ñ0Ó2Ð2ˆ|Ð2Ø—    ‘    ×!Ñ! ,Ô/÷    0ðˆ ÷    0ðˆ ús ¤AB  Bcód—|j€ td«‚|j5}|j«x}r|jj |«t |d«r°    |j|j«}|snlt|t«r|j«}|j|j|d¬«|j«x}r|jj |«ŒŠ|j|j«    ddd«yt|t«r|j«}    t|t«rL|j|j|d¬«|j«x}rŠ|jj |«nn|D]N}|j|j|d¬«|j«x}sŒ4|jj |«ŒP|j|j«ddd«y#t$rtdt!|«z«‚wxYw#1swYyxYw)z‘Send data to the server.
        `data` can be: `str`, `bytes`, an iterable, or file-like objects
        that support a .read() method.
        NrlÚreadTF)roz6`data` should be str, bytes, iterable, or file. got %r)r=r    r<rPrQrRÚhasattrrtÚ    blocksizerdrer]Ú    send_dataroÚbytesÚ    TypeErrorÚtype)r!ÚdatarSrPÚchunks     rÚsendzHTTP2Connection.sendªsé€ð
?‰?Ð "Ü!Ð"AÓBÐ Bà ]‰]ð#    ˜dØ#×0Ñ0Ó2Ð2ˆ|Ð2Ø—    ‘    ×!Ñ! ,Ô/ät˜VÔ$ØØ ŸI™I d§n¡nÓ5EÙ ØÜ! %¬Ô-Ø %§ ¡ £˜Ø—N‘N 4§?¡?°EÀeNÔLØ'+×'8Ñ'8Ó':Ð:|Ð:ØŸ    ™    ×)Ñ)¨,Ô7ðð—‘ §¡Ô0Ø÷#    ð#    ô"˜$¤Ô$Ø—{‘{“}ð ܘd¤EÔ*Ø—N‘N 4§?¡?°DÀTNÔJØ'+×'8Ñ'8Ó':Ð:|Ð:ØŸ    ™    ×)Ñ)¨,Õ7à!%ò<˜ØŸ™ t§¡¸È%˜ÔPØ+/×+<Ñ+<Ó+>Ð>˜<Ñ>Ø ŸI™I×-Ñ-¨lÕ;ð<ð—O‘O D§O¡OÔ4÷=#    ð#    øô>ò ÜØLܘ4“jñ!óðð ú÷?#    ð#    ús+¤C!H&Ä H&Ä/BHÇ8HÈ!H#È#H&È&H/có—td«‚)Nz;HTTP/2 does not support setting up a tunnel through a proxy)r?)r!rBrCrnÚschemes     rÚ
set_tunnelzHTTP2Connection.set_tunnel×s€ô"Ø Ió
ð    
rc    ó¬—d}t«}|j5}d}|s}|jjd«x}r.|j    |«}|D]}t |t jj«rnt«}|jD]T\}    }
|    dk(rt|
j««}Œ%|j|    jd«|
jd««ŒVŒ–t |t jj«r6||jz }|j!|j"|j$«Œðt |t jj&«sŒd}Œ|j)«x} r|jj+| «|sŒ}ddd«|€J‚t-||j.t1|«¬«S#1swYŒ/xYw)NFiÿÿs:statusÚasciiT)ÚstatusrnÚ request_urlr{)Ú    bytearrayr<rQÚrecvÚ receive_datardrIÚeventsÚResponseReceivedrrnÚintÚdecodeÚaddÚ DataReceivedr{Úacknowledge_received_dataÚflow_controlled_lengthrmÚ StreamEndedrPrRÚ HTTP2ResponserZrx) r!rƒr{rSroÚ received_datarˆÚeventrnrhrrPs             rÚ getresponsezHTTP2Connection.getresponseâs•€ðˆÜ‹{ˆØ ]‰]ð    4˜d؈JÚ à$(§I¡I§N¡N°5Ó$9Ð9=Ñ9Ø!×.Ñ.¨}Ó=FØ!'ó.˜Ü% e¬R¯Y©Y×-GÑ-GÔHÜ&4Ó&6˜GØ16·±ò&¡  ¨Ø#)¨ZÒ#7Ü-0°·±³Ó-@¡Fà$+§K¡KØ(.¯ © °gÓ(>ÀÇ Á ÈWÓ@Uõ%&ñ    &ô(¨¬r¯y©y×/EÑ/EÔFØ  E§J¡JÑ.˜DØ ×:Ñ:Ø %× <Ñ <¸e¿o¹oõô(¨¬r¯y©y×/DÑ/DÖEØ)-šJð%.ð($(×#4Ñ#4Ó#6Ð6<Ð6Ø—I‘I×%Ñ% lÔ3ó3!÷    4ð:Ð!Ð!Ð!ÜØØØ×)Ñ)ܐt“ô    
ð    
÷=    4ð    4ús™E G
Å&4G
GT)Úpreload_contentÚdecode_contentÚenforce_content_lengthc óô—d|vr    |j%|jj|j«|j||«|xsi}|j    «D]0\}    }
|    j «dk(r|
dk(rŒ|j |    |
«Œ2dt|j«vr|j dt««|r$|j|¬«|j|«y|j«y)zSend an HTTP/2 requestÚchunkedNztransfer-encodings
user-agent)rq) rQÚ
settimeoutÚtimeoutrbÚitemsrfrjÚdictr>rrrr}) r!r_r`Úbodyrnr•r–r—rDÚkÚvs            rÚrequestzHTTP2Connection.request sҀð ˜Ñ ð à 9‰9Ð  Ø I‰I×  Ñ   §¡Ô .à ‰˜ Ô$à’-˜RˆØ—M‘M“Oò    %‰DˆAˆq؏w‰w‹yÐ/Ò/°A¸²NØà—‘˜q !Õ$ð        %ð ¤ T§]¡]Ó 3Ñ 3Ø N‰N˜=Ô*AÓ*CÔ Dá Ø O‰O¨ˆOÔ .Ø I‰IdOà O‰OÕ rcóD•—|j5}    |j«|j«x}r|jj    |«ddd«|j «|_d|_g|_t‰|)«y#t
$rYŒEwxYw#1swYŒJxYwr) r<Úclose_connectionrPrQrRÚ    Exceptionr;r=r>r@Úclose)r!rSr{rEs   €rr¥zHTTP2Connection.close3s•ø€Ø ]‰]ð    ˜dð Ø×%Ñ%Ô'Ø×,Ñ,Ó.Ð.4Ð.Ø—I‘I×%Ñ% dÔ+÷        ð×)Ñ)Ó+ˆŒ ؈ŒØˆŒ ä ‰‰ øôò Ùð ú÷     ð    ús(ŽB=B    BÂBÂBÂBÂBr)rBrerCú
int | NonerDú
typing.Anyr.r/)r.z)_LockedObject[h2.connection.H2Connection]©r.r/)r_rer`rerDr§r.r/)rhú str | bytesrir©r.r/)rqr§r.r/)r{r§r.r/)NNÚhttp)
rBrerCr¦rnútyping.Mapping[str, str] | Nonerrer.r/)r.r‘)NN)r_rer`reržz_TYPE_BODY | Nonernr«r•r r–r r—r rDr§r.r/)r0r1r2r#r;rNrbrjrrr}r€r”r¡r¥Ú __classcell__©rEs@rr7r7UsIø„à,0ð OØð OØ)ð OØ<Fð Oà     õ OóHõ0ðBàðBððBðð    Bð
 
ó Bó> 2ô ó+ð` Ø37Øð     
àð    
ðð    
ð1ð        
ð
ð     
ð
ó     
ð(
à    ó(
ð\#'Ø37ð %ð!%Ø#Ø'+ñ%àð%ðð%ð ð    %ð
1ð %ðð%ðð%ð!%ð%ðð%ð
ó%÷Nñrr7có\‡—eZdZ    d                                            dˆfd„ Zedd„«Zdd„Zdd„ZˆxZS)    r‘c    óN•—t‰|||ddd||¬«||_d|_y)NézHTTP/2)rƒrnÚversionÚversion_stringÚreasonr–r„r)r@r#Ú_dataÚlength_remaining)r!rƒrnr„r{r–rEs      €rr#zHTTP2Response.__init__Fs=ø€ô    ‰ÑØØàØ#àØ)Ø#ð    ô
    
ðˆŒ
Ø !ˆÕrcó—|jSr)r´r&s rr{zHTTP2Response.data\s €àz‰zÐrcó—yrr5r&s rÚget_redirect_locationz#HTTP2Response.get_redirect_location`s€Ørcó—yrr5r&s rr¥zHTTP2Response.closecs€Ø r)F) rƒrŠrnrr„rer{rxr–r r.r/)r.rxr¨)    r0r1r2r#Úpropertyr{r¸r¥r¬r­s@rr‘r‘Dseø„ð %ð "àð"ð ð"ðð    "ð
ð "ð ð "ð
õ"ð,òóðó÷ rr‘)rrxr.r )rrxr.r )%Ú
__future__rÚloggingÚrerÚtypesÚtypingÚ    h2.configrIÚ h2.connectionÚ    h2.eventsÚ_base_connectionrÚ _collectionsrrKrrÚ
exceptionsr    Úresponser
Úorig_HTTPSConnectionÚTypeVarr Ú    getLoggerr0ÚlogÚcompilerrrrÚGenericrr7r‘r5rrú<module>rÍs¶ðÝ"ãÛ    ÛÛ Û ãÛÛå)Ý)ßAÝ(Ý'à&Ðà€F‡NN3Ó€à€g×јÓ!€à$˜"Ÿ*™*Ð%DÓEÐØ'˜RŸZ™ZÐ(VÓWÐó 5ó:ôF—N‘N 1Ñ%ôô>loôlô^  Ð$õ  r