K)Va&S/rSSKrSSKrSSKr\R"S5r\R"S5r"SS\5rSr Sr S r "S S 5r "S S 5r "SS5r"SS5r"SS5rSrSrSrSrSrSrSrSrg) validatorNz^[a-zA-Z][a-zA-Z0-9\-_]*$z [\000-\037]c\rSrSrSrg) WSGIWarningyN)__name__ __module__ __qualname____firstlineno____static_attributes__r7/opt/alt/python313/lib64/python3.13/wsgiref/validate.pyrrysr rc"U(d[U6egN)AssertionError)condargss rassert_r~s d## r cr[U5[LaU$[SRU[ U555e)Nz!{0} must be of type str (got {1}))typestrrformatrepr)valuetitles rcheck_string_typers6 U|s +225$u+F HHr c^U4SjnU$)NcB>^^[[U5S:HS5 [U(+S5 Uunm[U5 /mUU4Sjn[US5US'[ US5US'T"X#5n[USL=(a US:gS5 [ U5 [ UT5$) NzTwo arguments requiredNo keyword arguments allowedc`>[[U5S:H=(d [U5S:HSU<35 [U(+S5 USnUSn[U5S:XaUSnOSn[U5 [U5 [ X#5 [ U5 TR S5 [T"U65$)NrzInvalid number of arguments: r r)rlen check_status check_headerscheck_content_typecheck_exc_infoappend WriteWrapper)rkwstatusheadersexc_infostart_responsestart_response_starteds rstart_response_wrapper;validator..lint_app..start_response_wrappers CIN4c$i1n59; > F: ;!WF1gG4yA~7  ' " v / 8 $ " ) )$ / 56 6r wsgi.input wsgi.errorsFz>The application must return an iterator, if only an empty list)rr$ check_environ InputWrapper ErrorWrappercheck_iteratorIteratorWrapper)rr+environr1iteratorr/r0 applications @@rlint_appvalidator..lint_appsD Q 89B67"&g"$ 7&!-W\-B C !-gm.D!E w?$:U): L N x x)?@@r r)r<r=s` rrrs'AR Or c8\rSrSrSrSrSrSrSrSr Sr g ) r6cXlgrinput)self wsgi_inputs r__init__InputWrapper.__init__s r c[[U5S:H5 URR"U6n[[ U5[ L5 U$Nr#)rr$rCreadrbytesrDrvs rrJInputWrapper.reads:D Q JJOOT "Q5 !r c[[U5S:*5 URR"U6n[[ U5[ L5 U$rI)rr$rCreadlinerrKrLs rrPInputWrapper.readlines<D Q JJ   &Q5 !r c[[U5S:*5 URR"U6n[[ U5[ L5 UHn[[ U5[ L5 M U$rI)rr$rC readlinesrlistrK)rDrlineslines rrSInputWrapper.readlinessWD Q $$d+U t#$D DJ%' ( r c#v# UR5=n(aUv UR5=n(aMgg7fr)rP)rDrVs r__iter__InputWrapper.__iter__s1mmo%d%Jmmo%d%%s399c[SS5 g)Nrz input.close() must not be calledrrDs rcloseInputWrapper.closes 56r rBN) rr r r rFrJrPrSrYr^r rr rr6r6s    7r r6c2\rSrSrSrSrSrSrSrSr g) r7cXlgrerrors)rD wsgi_errorss rrFErrorWrapper.__init__! r cn[[U5[L5 URR U5 gr)rrrrdwriterDss rriErrorWrapper.writes$Q3 !r c8URR5 gr)rdflushr]s rrnErrorWrapper.flushs r c8UHnURU5 M gr)ri)rDseqrVs r writelinesErrorWrapper.writelinessD JJt r c[SS5 g)Nrz!errors.close() must not be calledr\r]s rr^ErrorWrapper.closes 67r rcN) rr r r rFrirnrrr^r rr rr7r7s"8r r7c \rSrSrSrSrSrg)r*cXlgrwriter)rD wsgi_writers rrFWriteWrapper.__init__rgr cZ[[U5[L5 URU5 gr)rrrKrzrjs r__call__WriteWrapper.__call__sQ5 ! Ar ryN)rr r r rFr~r rr rr*r*s "r r*c \rSrSrSrSrSrg)PartialIteratorWrappercXlgrr;)rD wsgi_iterators rrFPartialIteratorWrapper.__init__s% r c.[URS5$r)r9r;r]s rrYPartialIteratorWrapper.__iter__st}}d33r rN)rr r r rFrYr rr rrrs &4r rc2\rSrSrSrSrSrSrSrSr g) r9icJXl[U5UlSUlX lg)NF)original_iteratoriterr;closedcheck_start_response)rDrrs rrFIteratorWrapper.__init__s!!.]+  $8!r cU$rrr]s rrYIteratorWrapper.__iter__ s r c[UR(+S5 [UR5n[ U5[ La[SSU<S35 UR b[UR S5 SUlU$)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)rrnextr;rrKr)rDrMs r__next__IteratorWrapper.__next__siDKK ( *   7%  EQH I  $ $ 0 D--| ~(,D %r c~SUl[URS5(aURR5 gg)NTr^)rhasattrrr^r]s rr^IteratorWrapper.closes3 4))7 3 3  " " ( ( * 4r cUR(d[RRS5 [ URS5 g)Nz/Iterator garbage collected without being closed)rsysstderrrirr]s r__del__IteratorWrapper.__del__ s0{{ JJ  A C = ?r )rrr;rN) rr r r rFrYrr^rr rr rr9r9s9  + ?r r9c [[U5[LS[U5<SU<S35 SHn[X;SU<35 M SHn[X;SU<SUS S<S 35 M S U;a[R"S [ 5 UR 5HBnS U;aM [[X5[LSU<S[X5<SX<S35 MD [[US5[LSUS<S35 [USS;SUS-5 [US5 [US5 USS;a![R"SUS-[ 5 [URS5(+=(d USRS5SUS-5 [URS5(+=(d USRS5SUS-5 URS 5(a![[US 5S!:S"US -5 URS5(d[SU;S#5 [URS5S:gS$5 g)%Nz&Environment is not of the right type: z (environment: r) REQUEST_METHOD SERVER_NAME SERVER_PORT wsgi.versionr3r4zwsgi.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: %rr3r4r)GETHEADPOSTOPTIONSPATCHPUTDELETETRACEzUnknown REQUEST_METHOD: %r SCRIPT_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 '/')rrdictwarningswarnrkeysrtuple check_input check_errorsget startswithint)r:keys rr5r5'sj DMT ! =' #$! 69 ; = !<""%s12w 0 1< W$  4    ||~ #: W\"c)D&  6 7  D( )U 2181HJL G% &*; ;%0A(BBD %&'( )MM (73C+D D    M* * 6}%005.1GGI  K( ( 4{#..s3,w{/CCE{{#$$G,-.!3 (73C+D D F ;;} % % w& > ? GKK &# - "#r cPSH n[[X5SU<SU<35 M" g)N)rJrPrSrYz wsgi.input () doesn't have the attribute rr)rEattrs rrrhs%= )4 ! ">r cPSH n[[X5SU<SU<35 M" g)N)rnrirrz wsgi.errors (rr)rers rrrns%0 *D " #1r c$[US5nURSS5Sn[[U5S:HSU-5 [ U5n[US:SU-5 [U5S:d USS :wa[ R "S U-[5 gg) NStatusr#rr"z)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%ts vx 0F,,tQ'*K C  !3kAC[!J J# ;jHI 6{Q&)s*  B ! #+r c [[U5[LSU<S[U5<35 UGHWn[[U5[LSU<S[U5<35 [[ U5S:H5 Uup#[ US5n[ US5n[UR 5S:gS U-5 [S U;=(a S U;S U-5 [[RU5S U-5 [URS5(+=(a URS5(+SU-5 [RU5(dGM [SSU<S[RU5RS5<S35 GMZ g)Nz Headers (z) must be of type list: zIndividual headers (z) must be of type tuple: r Header 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: r) rrrTrr$rlower header_researchendswithbad_header_value_regroup)r-itemnamers rr&r&sN DMT ! DM #$T e#T$Z ! " D Q  }5!%8 ( " # $ D 4S_ ;d B D   &(=(DEDMM#&&At}}S/A+A 1D 8 :  % %e , , A)007==a@B C%r c [US5n[URSS5S5nSnUH=upE[US5nUR5S:XdM'X#;a g[ SSU-5 M? X#;a[ SSU-5 gg) 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 0F v||D!$Q' (D!O  }5 ::<> )* A9<@A B  "AGKL#r c r[USL=(d [U5[LSU<S[U5<35 g)Nz exc_info (z) is not a tuple: )rrr)r.s rr(r(s- H  7X% 7.6XGIr cN[[U[[45(+S5 g)NzwYou should not return a string as your application iterator, instead return a single-item list containing a bytestring.)r isinstancerrKrs rr8r8s# 8c5\2 2 EFr )__all__rerrcompilerrWarningrrrrr6r7r*rr9r5rrr%r&r'r(r8rr rrs^ -  JJ3 4 jj0' $H 5n77@88&44!?!?F?#B" # #C2M I Fr