o 0¦i¥T ã @ sÈ d Z ddlmZmZmZ ddlmZ ddlZddlZddl Z g d¢Z g d¢Zg d¢Zd d „ Z h d£jZdd „ Zdd„ ZG dd„ dƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZdS )z/Base classes for server/gateway implementationsé )ÚFileWrapperÚguess_schemeÚ is_hop_by_hop)ÚHeadersé N)ÚBaseHandlerÚ SimpleHandlerÚBaseCGIHandlerÚ CGIHandlerÚ IISCGIHandlerÚread_environ)ZMonZTueZWedZThuZFriZSatZSun) NZJanZFebZMarZAprZMayZJunZJulZAugZSepZOctZNovZDecc C s: t | ¡\ }}}}}}}}} dt| |t| ||||f S )Nz#%s, %02d %3s %4d %02d:%02d:%02d GMT)ÚtimeÚgmtimeÚ_weekdaynameÚ _monthname) Z timestampZyearZmonthZdayZhhZmmZssZwdÚyÚz© r ú7/opt/alt/python310/lib64/python3.10/wsgiref/handlers.pyÚformat_date_time s ÿr > Z AUTH_TYPEZCONTENT_TYPEZREQUEST_METHODÚSCRIPT_NAMEZCONTENT_LENGTHZHTTPSZREMOTE_USERZREMOTE_IDENTZQUERY_STRINGÚ PATH_INFOc C s6 t | ƒp| d¡p| d¡p| d¡ot| dd … ƒS )NZHTTP_ZSSL_Z REDIRECT_é )Ú_is_requestÚ startswithÚ_needs_transcode)Úkr r r r s ÿr c C sî t ¡ } d}zd d|¡ W n ty d}Y nw i }tj ¡ D ]S\}}t|ƒrpt jdkrgtj dd¡ ¡ }| d¡rE| d¡ d¡}n+| d ¡rKn%| d ¡r]d|v r]| d¡ d¡}n| | d¡ d¡}n | | |¡ d¡}|||<