f`j ddlZgdZGddZdZdZd dZd Zd Zhd jZ d Z dS)N) FileWrapper guess_schemeapplication_uri request_urishift_path_infosetup_testing_defaultsc$eZdZ ddZdZdZdS)r c^||_||_t|dr|j|_dSdS)Nclose)filelikeblksizehasattrr )selfr rs 3/opt/alt/python311/lib64/python3.11/wsgiref/util.py__init__zFileWrapper.__init__s9   8G $ $ (!DJJJ ( (c|SN)rs r__iter__zFileWrapper.__iter__s rcV|j|j}|r|Str)r readr StopIteration)rdatas r__next__zFileWrapper.__next__s,}!!$,//  KrN)r )__name__ __module__ __qualname__rrrrrrrr sI;(((( rrc: |ddvrdSdS)NHTTPS)yeson1httpshttp)get)environs rrrs){{7///wvrcN |ddz}ddlm}|dr ||dz }nL||dz }|ddkr|dd kr|d |dzz }n|dd kr|d |dzz }|||d pd dz }|S)Nwsgi.url_schemez://rquote HTTP_HOST SERVER_NAMEr% SERVER_PORT443:80 SCRIPT_NAME/latin1)encoding) urllib.parser,r')r(urlr,s rrr%sJ # $U *C""""""{{; 4 w{## w}%% $ % 0 0}%..sW]333}%--sW]33355]++2sX F F FFC JrTc t|}ddlm}||dddd}|ds||d dz }n||z }|r#|d r|d |d zz }|S) Nrr+ PATH_INFOz/;=,r5)safer6r3 QUERY_STRING?)rr7r,r')r( include_queryr8r, path_infos rrr9sL ' " "C""""""gkk+b11RRRI ;;} % % y} y-^44- sW^,,, Jrc |dd}|sdS|d}d|ddD|dd<|d}|d=|dd}tj|dz|z}|dr |dd}|s|ds|dz }||d<d||d<|dkrd}|S) Nr:r;r4c"g|] }||dk | S).r).0ps r z#shift_path_info..Xs"FFFaqFQ#XXXXXrr=r3rD)r'split posixpathnormpathendswithjoin)r(rA path_partsname script_names rrrFs  K++I t%%JFF:ad#3FFFJqt a=D1 ++mB//K$[_T%9::KC  '!#2#&  ,,S11s (GM XXj11GK Syy Krc: |dd|dd|d|d|ddd|vr0d |vr,|dd |d d |d d |dd|dd|ddddlm}m}|d||d||dt ||ddkr|dddS|ddkr|dddSdS)Nr.z 127.0.0.1SERVER_PROTOCOLzHTTP/1.0r-REQUEST_METHODGETr3r:r;r4z wsgi.version)r=rz wsgi.run_oncerzwsgi.multithreadzwsgi.multiprocess)StringIOBytesIOz wsgi.inputz wsgi.errorsr*r&r/r2r%r0) setdefaultiorUrVr)r(rUrVs rrros  }[111 (444 {7=#9::: '...G## 7(B(B=,,,;s+++ ~u--- *** )1--- *A...$$$$$$$$ |WWYY/// }hhjj111 (g)>)>??? !6))=$///// " #W , ,=%00000 - ,r> keep-alivetransfer-encodingproxy-authenticateproxy-authorizationteupgradetrailers connectioncF t|Sr)_hoppishlower) header_names r is_hop_by_hopresI K%%'' ( ((r)T) rJ__all__rrrrrr __contains__rbrerrrrhs*    $(    '''R$1$1$1P     )))))r