U e5dÛã@srddlZddddddgZGdd„dƒZd d„Zd d„Zdd d„Zd d„Zdd„ZddddddddhjZ dd„Z dS)éNÚ FileWrapperÚ guess_schemeÚapplication_uriÚ request_uriÚshift_path_infoÚsetup_testing_defaultsc@s.eZdZd dd„Zdd„Zdd„Zdd „Zd S) ré cCs"||_||_t|dƒr|j|_dS)NÚclose)ÚfilelikeÚblksizeÚhasattrr )Úselfr r ©rú$/usr/lib64/python3.8/wsgiref/util.pyÚ__init__s zFileWrapper.__init__cCs6ddl}|jdtdd|j |j¡}|r.|St‚dS)NrzXFileWrapper's __getitem__ method ignores 'key' parameter. Use iterator protocol instead.é)Ú stacklevel)ÚwarningsÚwarnÚDeprecationWarningr Úreadr Ú IndexError)r ÚkeyrÚdatarrrÚ __getitem__süzFileWrapper.__getitem__cCs|S©Nr)r rrrÚ__iter__!szFileWrapper.__iter__cCs|j |j¡}|r|St‚dSr)r rr Ú StopIteration)r rrrrÚ__next__$szFileWrapper.__next__N)r)Ú__name__Ú __module__Ú __qualname__rrrrrrrrr s  cCs| d¡dkrdSdSdS)NZHTTPS)ZyesZonÚ1ÚhttpsÚhttp)Úget)Úenvironrrrr*scCs |dd}ddlm}| d¡r0||d7}nR||d7}|ddkrf|dd kr‚|d |d7}n|dd kr‚|d |d7}||| d ¡p’d dd7}|S)Núwsgi.url_schemez://r©ÚquoteÚ HTTP_HOSTÚ SERVER_NAMEr#Ú SERVER_PORTÚ443ú:Ú80Ú SCRIPT_NAMEú/Úlatin1)Úencoding)Ú urllib.parser)r%)r&Úurlr)rrrr2s       TcCspt|ƒ}ddlm}|| dd¡ddd}| d¡sF||d d…7}n||7}|rl| d ¡rl|d |d 7}|S) Nrr(Ú PATH_INFOÚz/;=,r2)Zsafer3r0éZ QUERY_STRINGú?)rr4r)r%)r&Z include_queryr5r)Ú path_inforrrrFs  cCsº| dd¡}|sdS| d¡}dd„|dd…Dƒ|dd…<|d}|d=| dd¡}t |d|¡}| d¡r~|dd…}|s”| d¡s”|d7}||d<d |¡|d<|d kr¶d}|S) Nr6r7r1cSsg|]}|r|dkr|‘qS)Ú.r)Ú.0ÚprrrÚ esz#shift_path_info..r8éÿÿÿÿr0r;)r%ÚsplitÚ posixpathÚnormpathÚendswithÚjoin)r&r:Ú path_partsÚnameZ script_namerrrrSs$     cCsþ| dd¡| dd¡| d|d¡| dd¡d|kr\d |kr\| dd ¡| d d ¡| d d ¡| dd¡| dd¡| dd¡ddlm}m}| d|ƒ¡| d|ƒ¡| dt|ƒ¡|ddkrâ| dd¡n|ddkrú| dd¡dS)Nr+z 127.0.0.1ZSERVER_PROTOCOLzHTTP/1.0r*ZREQUEST_METHODZGETr0r6r7r1z wsgi.version)r8rz wsgi.run_oncerzwsgi.multithreadzwsgi.multiprocess)ÚStringIOÚBytesIOz wsgi.inputz wsgi.errorsr'r$r,r/r#r-)Ú setdefaultÚiorGrHr)r&rGrHrrrr|s&           Z connectionz keep-alivezproxy-authenticatezproxy-authorizationZteZtrailersztransfer-encodingZupgradecCs t| ¡ƒSr)Ú_hoppishÚlower)Z header_namerrrÚ is_hop_by_hopªsrM)T) rAÚ__all__rrrrrrÚ __contains__rKrMrrrrÚs.þ ))ý