python (3.11.7)

(root)/
lib/
python3.11/
wsgiref/
__pycache__/
validate.cpython-311.opt-2.pyc

e:F	dgZddlZddlZddlZejdZejdZGddeZdZ	dZ
d	ZGd
dZGdd
Z
GddZGddZGddZdZdZdZdZdZdZdZdZdS)	validatorNz^[a-zA-Z][a-zA-Z0-9\-_]*$z[\000-\037]ceZdZdS)WSGIWarningN)__name__
__module____qualname__D/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/wsgiref/validate.pyrrysr
rc|s	t|dSN)AssertionError)condargss  rassert_r~s$d##$$r
ct|tur|Std|t	|)Nz!{0} must be of type str (got {1}))typestrrformatrepr)valuetitles  rcheck_string_typersFU||s
+225$u++FFHHHr
c	fd}|S)Nctt|dkdt|d|\}t|gfd}t|d|d<t	|d|d<||}t|duo|dkdt|t
|S)	NzTwo arguments requiredNo keyword arguments allowedctt|dkpt|dkd|t|d|d}|d}t|dkr	|d}nd}t|t|t	||t|dt|S)NrzInvalid number of arguments: rr)rlencheck_status
check_headerscheck_content_typecheck_exc_infoappendWriteWrapper)rkwstatusheadersexc_infostart_responsestart_response_starteds     rstart_response_wrapperz;validator.<locals>.lint_app.<locals>.start_response_wrappersCIIN4c$ii1n59T;
>
>
>F:;;;!WF1gG4yyA~~7   '"""vw///8$$$"))$/// 5666r

wsgi.inputwsgi.errorsFz>The application must return an iterator, if only an empty list)rr!
check_environInputWrapperErrorWrappercheck_iteratorIteratorWrapper)rr(environr.iteratorr,r-applications     @@rlint_appzvalidator.<locals>.lint_appsD		Q 8999B6777"&g"$	7	7	7	7	7	7&!-W\-B C C!-gm.D!E!E
;w(>??$:U):L	N	N	N	x   x)?@@@r
r	)r8r9s` rrrs.'A'A'A'A'AROr
c2eZdZdZdZdZdZdZdZdS)r2c||_dSr
)input)self
wsgi_inputs  r__init__zInputWrapper.__init__s



r
ctt|dk|jj|}tt	|t
u|SNr )rr!r<readrbytesr=rvs   rrBzInputWrapper.readsHD		QDJOT"Q5 !!!r
ctt|dk|jj|}tt	|t
u|SrA)rr!r<readlinerrCrDs   rrGzInputWrapper.readlinesID		QDJ&Q5 !!!r
ctt|dk|jj|}tt	|t
u|D]%}tt	|tu&|SrA)rr!r<	readlinesrlistrC)r=rlineslines    rrIzInputWrapper.readlinesstD		Q$
$d+Ut#$$$	)	)DDJJ%'((((r
c#BK	|}|sdS|Vr
)rG)r=rLs  r__iter__zInputWrapper.__iter__s3	==??D
JJJ		r
c&tdddS)Nrz input.close() must not be calledrr=s rclosezInputWrapper.closes566666r
N)	rrrr?rBrGrIrNrRr	r
rr2r2sn   77777r
r2c,eZdZdZdZdZdZdZdS)r3c||_dSr
)errors)r=wsgi_errorss  rr?zErrorWrapper.__init__
!r
ctt|tu|j|dSr
)rrrrUwriter=ss  rrYzErrorWrapper.writes6Q3!r
c8|jdSr
)rUflushrQs rr]zErrorWrapper.flushsr
c:|D]}||dSr
)rY)r=seqrLs   r
writelineszErrorWrapper.writeliness0		DJJt		r
c&tdddS)Nrz!errors.close() must not be calledrPrQs rrRzErrorWrapper.closes677777r
N)rrrr?rYr]r`rRr	r
rr3r3s_"""88888r
r3ceZdZdZdZdS)r'c||_dSr
)writer)r=wsgi_writers  rr?zWriteWrapper.__init__rWr
cvtt|tu||dSr
)rrrCrdrZs  r__call__zWriteWrapper.__call__s.Q5 !!!Ar
N)rrrr?rgr	r
rr'r's2"""r
r'ceZdZdZdZdS)PartialIteratorWrapperc||_dSr
r7)r=
wsgi_iterators  rr?zPartialIteratorWrapper.__init__s
%


r
c,t|jdSr
)r5r7rQs rrNzPartialIteratorWrapper.__iter__st}d333r
N)rrrr?rNr	r
rriris2&&&44444r
ric,eZdZdZdZdZdZdZdS)r5cX||_t||_d|_||_dS)NF)original_iteratoriterr7closedcheck_start_response)r=rlrss   rr?zIteratorWrapper.__init__	s.!.]++
$8!!!r
c|Sr
r	rQs rrNzIteratorWrapper.__iter__sr
ct|jdt|j}t	|t
urtdd|d|jt|jdd|_|S)NzIterator read after closedFz!Iterator yielded non-bytestring ()zjThe application returns and we started iterating over its body, but start_response has not yet been called)rrrnextr7rrCrs)r=rEs  r__next__zIteratorWrapper.__next__sDK(	*	*	*77%EEQQQHIII$0D-|
~
~
~(,D%r
ctd|_t|jdr|jdSdS)NTrR)rrhasattrrprRrQs rrRzIteratorWrapper.closesC4)733	+"((*****	+	+r
c||jstjdt	|jddS)Nz/Iterator garbage collected without being closed)rrsysstderrrYrrQs r__del__zIteratorWrapper.__del__#sP{	CJA
C
C
C=	?	?	?	?	?r
N)rrrr?rNrxrRr~r	r
rr5r5s_999


+++
?????r
r5ctt|tudt|d|ddD]}t||vd|dD]#}t||vd|d|d	dd
$d|vrtjdt
|D]T}d
|vrtt||tud|dt||d||dUtt|dtud|ddt|ddvd|dzt|dt|d|ddvr#tjd|dzt
t|dp|ddd|dzt|dp|ddd|dz|d r0tt|d d!kd"|d z|dstd|vd#t|ddkd$dS)%Nz&Environment is not of the right type: z (environment: rv)	REQUEST_METHODSERVER_NAMESERVER_PORTwsgi.versionr/r0zwsgi.multithreadzwsgi.multiprocessz
wsgi.run_oncez"Environment missing required key: )HTTP_CONTENT_TYPEHTTP_CONTENT_LENGTHz%Environment should not have the key: z (use z	 instead)QUERY_STRINGzQUERY_STRING is not in the WSGI environment; the cgi module will use sys.argv when this variable is missing, so application errors are more likely.zEnvironmental variable z is not a string: z	 (value: rz wsgi.version should be a tuple (zwsgi.url_scheme)httphttpszwsgi.url_scheme unknown: %rr/r0r)GETHEADPOSTOPTIONSPATCHPUTDELETETRACEzUnknown REQUEST_METHOD: %rSCRIPT_NAME/z$SCRIPT_NAME doesn't start with /: %r	PATH_INFOz"PATH_INFO doesn't start with /: %rCONTENT_LENGTHrzInvalid CONTENT_LENGTH: %rzgOne of SCRIPT_NAME or PATH_INFO are required (PATH_INFO should at least be '/' if SCRIPT_NAME is empty)zOSCRIPT_NAME cannot be '/'; it should instead be '', and PATH_INFO should be '/')rrdictwarningswarnrkeysrtuplecheck_inputcheck_errorsget
startswithint)r6keys  rr1r1*sDMMT!!===='''	#$$$!==	w69c;	=	=	=	=<117"""%##s122www
0	1	1	1	1W$$

4
				||~~77#::WS\""c))ssD&&&&
6	7	7	7	7D())U22181H1H1HJLLLG%&*;;%0A(BBDDD%&&&'((( )MMM
(73C+DD			M***
6}%0055.1GGIIIK(((
4{#..s33,w{/CCEEE{{#$$FG,-..!3(73C+DD	F	F	F;;}%%?w&
>	?	?	?GKK
&&#-	"#####r
cXdD]&}tt||d|d|'dS)N)rBrGrIrNzwsgi.input () doesn't have the attribute rrz)r>attrs  rrrksQ=""
D)))zz44
!	"	"	"	"""r
cXdD]&}tt||d|d|'dS)N)r]rYr`z
wsgi.errors (rr)rVrs  rrrqsQ0##T***{{DD
"	#	#	#	###r
cnt|d}|ddd}tt|dkd|zt	|}t|dkd|zt|dks|dd	krtjd
|ztdSdS)NStatusr rrz)Status codes must be three characters: %rdzStatus code is invalid: %r zjThe status string (%r) should be a three-digit integer followed by a single space and a status explanation)rsplitrr!rrrr)r)status_code
status_ints   rr"r"ws
vx
0
0F,,tQ''*KC!3kACCC[!!JJ#;jHIII
6{{Q&)s**

B
!	#	#	#	#	#+*r
c
tt|tud|dt||D]}tt|tud|dt|tt	|dk|\}}t|d}t|d}t|dkd	|ztd
|vod|vd|ztt|d
|zt|	do|	dd|zt|rBtdd|dt|dddS)Nz	Headers (z) must be of type list: zIndividual headers (z) must be of type tuple: rHeader namezHeader valuer)zyThe Status header cannot be used; it conflicts with CGI script, and HTTP status is not given through headers (value: %r).
:z,Header names may not contain ':' or '\n': %rzBad header name: %r-_z#Names may not end in '-' or '_': %rrzBad header value: z (bad char: rv)rrrJrr!rlower	header_researchendswithbad_header_value_regroup)r*itemnamers    rr#r#sDMMT!!77DMMM	#$$$CCT

e##ttT$ZZZ
!	"	"	"	D		Qe }55!%88

(
"
#	$	$	$	D 4S_;dB	D	D	D	  &&(=(DEEEDMM#&&&At}}S/A/A+A1D8	:	:	:%%e,,	CAAuu)0077==a@@@@B
C
C
C%CCr
cBt|d}t|ddd}d}|D]G\}}t|d}|dkr||vrdSt	dd|zH||vrt	dd|zdSdS)	Nrr r)i0rzcontent-typezJContent-Type header found in a %s response, which must not return content.z,No Content-Type header found in headers (%s))rrrrr)r)r*codeNO_MESSAGE_BODYrrs      rr$r$s
vx
0
0Fv||D!$$Q'((D!OBBe }55::<<>))?**A9<@A
B
B
B?""AGKLLLLL#"r
c	|t|dupt|tud|dt|dS)Nz
exc_info (z) is not a tuple: )rrr)r+s rr%r%sOH7X% 7.6hhXGIIIIIr
c\tt|ttfddS)NzwYou should not return a string as your application iterator, instead return a single-item list containing a bytestring.)r
isinstancerrCrks rr4r4s>
8c5\222	EFFFFFr
)__all__rer|rcompilerrWarningrrrrr2r3r'rir5r1rrr"r#r$r%r4r	r
r<module>rs
iT-
			



BJ344	 bj00'
$$$HHH555n!7!7!7!7!7!7!7!7F88888888&44444444!?!?!?!?!?!?!?!?F?#?#?#B"""######CCC2MMM III
FFFFFr