Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
odigos / etc / odigos-vmagent / instrumentations / python / urllib3 / http2 / __pycache__ / connection.cpython-311.pyc
Size: Mime:
§

3ç©g|1ãó—ddlmZddlZddlZddlZddlZddlZddlZddl	Zddl
ZddlmZddl
mZddlmZmZddlmZddlmZeZejd	¦«Zeje¦«Zejd
¦«Zejd¦«Zdd„Zdd„Z Gd„dej!e¦«Z"Gd„de¦«Z#Gd„de¦«Z$dS)é)Ú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]$ÚnameÚbytesÚreturnÚboolcóP—tt |¦«¦«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.
    )rÚRE_IS_LEGAL_HEADER_NAMEÚmatch)rs ú?/tmp/pip-target-fm9nfsjo/lib/python/urllib3/http2/connection.pyÚ_is_legal_header_namers!€õÕ'×-Ò-¨dÑ3Ô3Ñ4Ô4Ð4óÚvaluecóP—tt |¦«¦«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)rs rÚ_is_illegal_header_valuer,s!€õÕ*×1Ò1°%Ñ8Ô8Ñ9Ô9Ð9rcó.—eZdZdZdZdd„Zdd„Zdd„ZdS)Ú
_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Ú_objÚobjrcóD—tj¦«|_||_dS©N)Ú	threadingÚRLockrr)Úselfrs  rÚ__init__z_LockedObject.__init__Ds€Ý”OÑ%Ô%ˆŒ	؈Œ	ˆ	ˆ	rrcóB—|j ¦«|jSr!)rÚacquirer©r$s rÚ	__enter__z_LockedObject.__enter__Hs€ØŒ	×ÒÑÔÐØŒyÐrÚexc_typeútype[BaseException] | NoneÚexc_valúBaseException | NoneÚexc_tbútypes.TracebackType | NoneÚNonecó8—|j ¦«dSr!)rÚrelease)r$r*r,r.s    rÚ__exit__z_LockedObject.__exit__Ls€ð	
Œ	×ÒÑÔÐÐÐrN)rr)rr)r*r+r,r-r.r/rr0)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r%r)r3©rrrr6sa€€€€€ððð€Ið
ðððððððððððððrrc󖇗eZdZ	d*d+ˆfd
„
Zd,d„Zd-ˆfd
„Zd.d„Zd/d„Zd*d0d„Zd1d„Z				d2d3d„Z
d4d„Z		d5d d d d!œd6d(„Zd-ˆfd)„Z
ˆxZS)7ÚHTTP2ConnectionNÚhostÚstrÚportú
int | NoneÚkwargsú
typing.Anyrr0cóæ•—| ¦«|_d|_g|_d|vsd|vrt	d¦«‚t¦«j||fi|¤Ž|jt	d¦«‚dS)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$r<r>r@Ú	__class__s    €rr%zHTTP2Connection.__init__Vs‹ø€ð×)Ò)Ñ+Ô+ˆŒ
Ø&*ˆŒØ35ˆŒ
àfÐР°&Ð 8Ð 8Ý%Ð&LÑMÔMÐMà‰ŒÔ˜˜tÐ.Ð. vÐ.Ð.Ð.àÔÐ(Ý%Ð&MÑNÔNÐNð)Ð(rú)_LockedObject[h2.connection.H2Connection]cóœ—tj d¬¦«}ttj |¬¦«¦«S)NT)Úclient_side)Úconfig)Úh2rPÚH2ConfigurationrÚ
connectionÚH2Connection)r$rPs  rrEzHTTP2Connection._new_h2_connes;€Ý”×*Ò*°tÐ*Ñ<Ô<ˆÝRœ]×7Ò7¸vÐ7ÑFÔFÑGÔGÐGrcó•—t¦« ¦«|j5}| ¦«| ¦«x}r|j |¦«ddd¦«dS#1swxYwYdSr!)rJÚconnectrFÚinitiate_connectionÚdata_to_sendÚsockÚsendall)r$ÚconnrXrLs   €rrVzHTTP2Connection.connectisÁø€Ý
‰ŒŠÑÔÐØ
Œ]ð	0˜dØ×$Ò$Ñ&Ô&Ð&Ø#×0Ò0Ñ2Ô2Ð2ˆ|ð
0Ø”	×!Ò! ,Ñ/Ô/Ð/ð	0ð	0ð	0ñ	0ô	0ð	0ð	0ð	0ð	0ð	0ð	0ð	0øøøð	0ð	0ð	0ð	0ð	0ð	0s©AA;Á;A?ÂA?ÚmethodÚurlcóª—d|vrtd¦«‚d|vrtd¦«‚|pd|_| |¦«d|jvrd|j›d|jpd	›}n|j›d|jpd	›}|j d
¦«|j d| ¦«f¦«|j d| ¦«f¦«|j d
| ¦«f¦«|j5}| 	¦«|_
ddd¦«dS#1swxYwYdS)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)rIÚ_request_urlÚ_validate_pathr<r>rHÚappendÚencoderFÚget_next_available_stream_idrG)r$r\r]r@Ú	authorityr[s      rÚ
putrequestzHTTP2Connection.putrequestps´€ð˜&Ð Ð Ý%Ð&CÑDÔDÐDØ! VÐ+Ð+Ý%Ð&NÑOÔOÐOà˜J 3ˆÔØ×Ò˜CÑ Ô Ð à$”)ÐÐØ;˜DœIÐ;Ð;¨¬Ð)9°cÐ;Ð;ˆIˆIàœ9Ð9Ð9 t¤yÐ'7°CÐ9Ð9ˆIàŒ
×ÒÐ3Ñ4Ô4Ð4ØŒ
×Ò˜j¨&¯-ª-©/¬/Ð:Ñ;Ô;Ð;ØŒ
×Ò˜m¨Y×-=Ò-=Ñ-?Ô-?Ð@ÑAÔAÐAØŒ
×Ò˜h¨¯
ª
©¬Ð5Ñ6Ô6Ð6à
Œ]ð	B˜dØ"×?Ò?ÑAÔAˆDŒOð	Bð	Bð	Bñ	Bô	Bð	Bð	Bð	Bð	Bð	Bð	Bð	Bøøøð	Bð	Bð	Bð	Bð	Bð	BsÄ!EÅEÅEÚheaderústr | bytesÚvaluescóÔ—t|t¦«r| ¦«n|}| ¦«}t	|¦«stdt|¦«›¦«‚|D]w}t|t¦«r| ¦«n|}t
|¦«rtdt|¦«›¦«‚|j ||f¦«ŒxdS)NzIllegal header name zIllegal header value )	Ú
isinstancer=rgÚlowerrÚ
ValueErrorrrHrf)r$rkrmrs    rÚ	putheaderzHTTP2Connection.putheadersá€å$.¨vµsÑ$;Ô$;ÐG—’‘”ÀˆØ—’‘”ˆÝ$ VÑ,Ô,ð	CÝÐAµC¸±K´KÐAÐAÑBÔBÐBàð	2ð	2ˆEÝ&0°½Ñ&<Ô&<ÐGE—L’L‘N”NNÀ%ˆEÝ'¨Ñ.Ô.ð
GÝ Ð!E½¸U¹¼Ð!EÐ!EÑFÔFÐFØŒM× Ò  &¨% Ñ1Ô1Ð1Ð1ð		2ð	2rÚmessage_bodycó&—|j€td¦«‚|j5}| |j|j|du¬¦«| ¦«x}r|j |¦«ddd¦«n#1swxYwYg|_dS)NúMust call `putrequest` first.)Ú	stream_idÚheadersÚ
end_stream)rGr	rFÚsend_headersrHrXrYrZ)r$rsr[rXs    rÚ
endheaderszHTTP2Connection.endheadersœsà€ØŒ?Ð"Ý!Ð"AÑBÔBÐBà
Œ]ð	0˜dØ×ÒØœ/Øœ
Ø(¨DÐ0ð
ñ
ô
ð
ð
 $×0Ò0Ñ2Ô2Ð2ˆ|ð
0Ø”	×!Ò! ,Ñ/Ô/Ð/ð	0ð	0ð	0ñ	0ô	0ð	0ð	0ð	0ð	0ð	0ð	0øøøð	0ð	0ð	0ð	0ðˆŒ
ˆ
ˆ
sžAA?Á?BÂBÚdatacóº—|j€td¦«‚|j5}| ¦«x}r|j |¦«t
|d¦«r½	| |j¦«}|snwt|t¦«r| ¦«}| |j|d¬¦«| ¦«x}r|j |¦«Œ”| 
|j¦«	ddd¦«dSt|t¦«r| ¦«}	t|t¦«rN| |j|d¬¦«| ¦«x}r|j |¦«nl|D]O}| |j|d¬¦«| ¦«x}r|j |¦«ŒP| 
|j¦«n-#t$r tdt!|¦«z¦«‚wxYwddd¦«dS#1swxYwYdS)z‘Send data to the server.
        `data` can be: `str`, `bytes`, an iterable, or file-like objects
        that support a .read() method.
        NruÚreadTF)rxz6`data` should be str, bytes, iterable, or file. got %r)rGr	rFrXrYrZÚhasattrr}Ú	blocksizeror=rgÚ	send_datarxr
Ú	TypeErrorÚtype)r$r{r[rXÚchunks     rÚsendzHTTP2Connection.sendªsÄ€ð
Œ?Ð"Ý!Ð"AÑBÔBÐBà
Œ]ð#	˜dØ#×0Ò0Ñ2Ô2Ð2ˆ|ð
0Ø”	×!Ò! ,Ñ/Ô/Ð/åt˜VÑ$Ô$ð
ð8Ø ŸIšI d¤nÑ5Ô5EØ ðØÝ! %­Ñ-Ô-ð/Ø %§¢¡¤˜Ø—N’N 4¤?°EÀeNÑLÔLÐLØ'+×'8Ò'8Ñ':Ô':Ð:|ð8Øœ	×)Ò)¨,Ñ7Ô7Ð7ð8ð—’ ¤Ñ0Ô0Ð0Øð#	ð#	ð#	ñ#	ô#	ð#	ð#	ð#	õ"˜$¥Ñ$Ô$ð
%Ø—{’{‘}”}ð
ݘd¥EÑ*Ô*ð	5Ø—N’N 4¤?°DÀTNÑJÔJÐJØ'+×'8Ò'8Ñ':Ô':Ð:|ð8Øœ	×)Ò)¨,Ñ7Ô7Ð7øà!%ð<ð<˜ØŸš t¤¸È%˜ÑPÔPÐPØ+/×+<Ò+<Ñ+>Ô+>Ð>˜<ð<Ø œI×-Ò-¨lÑ;Ô;Ð;øØ—O’O D¤OÑ4Ô4Ð4øøÝð
ð
ð
ÝØLݘ4‘j”jñ!ñôðð
øøøð?#	ð#	ð#	ñ#	ô#	ð#	ð#	ð#	ð#	ð#	ð#	ð#	øøøð#	ð#	ð#	ð#	ð#	ð#	s1žC1IÄ)IÅCHÈIÈ*IÉIÉIÉIÚhttprwútyping.Mapping[str, str] | NoneÚschemecó —td¦«‚)Nz;HTTP/2 does not support setting up a tunnel through a proxy)rI)r$r<r>rwr‡s     rÚ
set_tunnelzHTTP2Connection.set_tunnel×s€õ"ØIñ
ô
ð	
rÚ
HTTP2Responsec	ó¨—d}t¦«}|j5}d}|sv|j d¦«x}r&| |¦«}|D]
}t|tjj¦«r€t¦«}|j
D]i\}	}
|	dkr"t|
 ¦«¦«}Œ-| 
|	 d¦«|
 d¦«¦«ŒjŒ¢t|tjj¦«r+||jz
}| |j|j¦«Œìt|tjj¦«rd}Œ| ¦«x}r|j |¦«|¯vddd¦«n#1swxYwY|€J‚t-|||jt1|¦«¬¦«S)NFiÿÿs:statusÚasciiT)ÚstatusrwÚrequest_urlr{)Ú	bytearrayrFrYÚrecvÚreceive_datarorQÚeventsÚResponseReceivedrrwÚintÚdecodeÚaddÚDataReceivedr{Úacknowledge_received_dataÚflow_controlled_lengthrvÚStreamEndedrXrZrŠrdr
)r$rr{r[rxÚ
received_datar’ÚeventrwrkrrXs            rÚgetresponsezHTTP2Connection.getresponseâs*€ðˆÝ‰{Œ{ˆØ
Œ]ð	4˜d؈JØ ñ
4à$(¤I§N¢N°5Ñ$9Ô$9Ð9=ñ.Ø!×.Ò.¨}Ñ=Ô=FØ!'ð.ñ.˜Ý% e­R¬YÔ-GÑHÔHð.Ý&4Ñ&6Ô&6˜GØ16´ð&ð&¡
 ¨Ø#)¨ZÒ#7Ð#7Ý-0°·²±´Ñ-@Ô-@ F Fà$+§K¢KØ(.¯
ª
°gÑ(>Ô(>ÀÇÂÈWÑ@UÔ@Uñ%&ô%&ð%&ð%&ð	&õ(¨­r¬yÔ/EÑFÔFð.Ø  E¤JÑ.˜DØ ×:Ò:Ø %Ô <¸e¼oñôððõ(¨­r¬yÔ/DÑEÔEð.Ø)-˜Jùà#'×#4Ò#4Ñ#6Ô#6Ð6<ð4Ø”I×%Ò% lÑ3Ô3Ð3ð3!ñ
4ð	4ð	4ð	4ñ	4ô	4ð	4ð	4ð	4ð	4ð	4ð	4øøøð	4ð	4ð	4ð	4ð:Ð!Ð!Ð!ÝØØØÔ)ݐt‘”ð	
ñ
ô
ð	
s˜E<F Æ F$Æ'F$T)Úpreload_contentÚdecode_contentÚenforce_content_lengthÚbodyú_TYPE_BODY | NoneržrrŸr có$—d|vr	|j|j |j¦«| ||¦«|pi}| ¦«D]:\}	}
|	 ¦«dkr|
dkrŒ$| |	|
¦«Œ;dt|j¦«vr"| dt¦«¦«|r-| 
|¬¦«| |¦«dS| 
¦«dS)zSend an HTTP/2 requestÚchunkedNztransfer-encodings
user-agent)rs)rYÚ
settimeoutÚtimeoutrjÚitemsrprrÚdictrHrrzr„)r$r\r]r¡rwržrŸr r@ÚkÚvs           rÚrequestzHTTP2Connection.requests€ð˜ÐÐð
àŒ9Ð ØŒI× Ò  ¤Ñ.Ô.Ð.àŠ˜ Ñ$Ô$Ð$à-˜RˆØ—M’M‘O”Oð	%ð	%‰DˆAˆq؏wŠw‰yŒyÐ/Ò/Ð/°A¸²N°NØà—’˜q !Ñ$Ô$Ð$Ð$ॠT¤]Ñ 3Ô 3Ð3Ð3ØNŠN˜=Õ*AÑ*CÔ*CÑDÔDÐDàð	ØOŠO¨ˆOÑ.Ô.Ð.ØIŠId‰OŒOˆOˆOˆOàOŠOÑÔÐÐÐrc󀕗|j5}	| ¦«| ¦«x}r|j |¦«n#t
$rYnwxYwddd¦«n#1swxYwY| ¦«|_d|_g|_t¦« 
¦«dSr!)rFÚclose_connectionrXrYrZÚ	ExceptionrErGrHrJÚclose)r$r[r{rLs   €rr¯zHTTP2Connection.close3süø€Ø
Œ]ð	˜dð
Ø×%Ò%Ñ'Ô'Ð'Ø×,Ò,Ñ.Ô.Ð.4ð,Ø”I×%Ò% dÑ+Ô+Ð+øøÝð
ð
ð
ؐð
øøøð	ð	ð	ñ	ô	ð	ð	ð	ð	ð	ð	øøøð	ð	ð	ð	ð×)Ò)Ñ+Ô+ˆŒ
؈ŒØˆŒ
å
‰Œ
Š
‰Œˆˆˆs5‰A,‹AAÁA,Á
AÁA,ÁAÁA,Á,A0Á3A0r!)r<r=r>r?r@rArr0)rrM©rr0)r\r=r]r=r@rArr0)rkrlrmrlrr0)rsrArr0)r{rArr0)NNr…)
r<r=r>r?rwr†r‡r=rr0)rrŠ)NN)r\r=r]r=r¡r¢rwr†ržrrŸrr rr@rArr0)r4r5r6r%rErVrjrrrzr„r‰rr«r¯Ú
__classcell__©rLs@rr;r;Usjø€€€€€à,0ð
Oð
Oð
Oð
Oð
Oð
Oð
OðHðHðHðHð0ð0ð0ð0ð0ð0ðBðBðBðBð>2ð2ð2ð2ðððððð+ð+ð+ð+ð` Ø37Øð	
ð	
ð	
ð	
ð	
ð(
ð(
ð(
ð(
ð\#'Ø37ð%ð!%Ø#Ø'+ð%ð%ð%ð%ð%ð%ðNðððððððððrr;cóL‡—eZdZ	ddˆfd„
Zedd„¦«Zdd„Zdd„ZˆxZS)rŠFrr”rwrrŽr=r{r
rŸrrr0c	ót•—t¦« ||ddd||¬¦«||_d|_dS)NézHTTP/2)rrwÚversionÚversion_stringÚreasonrŸrŽr)rJr%Ú_dataÚlength_remaining)r$rrwrŽr{rŸrLs      €rr%zHTTP2Response.__init__FsRø€õ	‰Œ×ÒØØàØ#àØ)Ø#ð	ñ
	
ô
	
ð
	
ðˆŒ
Ø !ˆÔÐÐrcó—|jSr!)r¹r(s rr{zHTTP2Response.data\s
€àŒzÐrcó—dSr!r9r(s rÚget_redirect_locationz#HTTP2Response.get_redirect_location`s€Øˆtrcó—dSr!r9r(s rr¯zHTTP2Response.closecs€Øˆr)F)rr”rwrrŽr=r{r
rŸrrr0)rr
r°)	r4r5r6r%Úpropertyr{r½r¯r±r²s@rrŠrŠDsø€€€€€ð %ð
"ð"ð"ð"ð"ð"ð"ð,ðððñ„Xðððððð
ð
ð
ð
ð
ð
ð
ð
rrŠ)rr
rr)rr
rr)%Ú
__future__rÚloggingÚrer"ÚtypesÚtypingÚ	h2.configrQÚ
h2.connectionÚ	h2.eventsÚ_base_connectionrÚ_collectionsrrSrrÚ
exceptionsr	Úresponser
Úorig_HTTPSConnectionÚTypeVarrÚ	getLoggerr4ÚlogÚcompilerrrrÚGenericrr;rŠr9rrú<module>rÒsÛðØ"Ð"Ð"Ð"Ð"Ð"à€€€Ø	€	€	€	ØÐÐÐØ€€€Ø
€
€
€
àÐÐÐØÐÐÐØÐÐÐà)Ð)Ð)Ð)Ð)Ð)Ø)Ð)Ð)Ð)Ð)Ð)ØAÐAÐAÐAÐAÐAÐAÐAØ(Ð(Ð(Ð(Ð(Ð(Ø'Ð'Ð'Ð'Ð'Ð'à&Ðà€F„N3ÑÔ€à€gÔ˜Ñ!Ô!€à$˜"œ*Ð%DÑEÔEÐØ'˜RœZÐ(VÑWÔWÐð5ð5ð5ð5ð:ð:ð:ð:ðððððF”N 1Ô%ñôðð>lðlðlðlðloñlôlðlð^ 
ð 
ð 
ð 
ð 
Ð$ñ 
ô 
ð 
ð 
ð 
r