` j d dl Z g dZ G d d Zd Zd Zd dZd Zd Zh dj Z d Z dS ) N)FileWrapperguess_schemeapplication_urirequest_urishift_path_infosetup_testing_defaultsc $ e Zd Z ddZd Zd ZdS )r c ^ || _ || _ t |d r|j | _ d S d S )Nclose)filelikeblksizehasattrr )selfr r s 9/opt/alt/python-internal/lib64/python3.11/wsgiref/util.py__init__zFileWrapper.__init__ s9 8G$$ (!DJJJ ( ( c | S N )r s r __iter__zFileWrapper.__iter__ s r c V | j | j }|r|S t r )r readr StopIteration)r datas r __next__zFileWrapper.__next__ s, }!!$,// Kr N)r )__name__ __module____qualname__r r r r r r r r sI ;( ( ( ( r r c : | d dv rdS dS )NHTTPS)yeson1httpshttp)get)environs r r r s) {{7///wvr c N | d dz }ddl m} | d r|| d z }nL|| d z }| d dk r| d d k r|d | d z z }n| d dk r|d | d z z }| || d pd d z }|S )Nwsgi.url_schemez://r quote HTTP_HOSTSERVER_NAMEr% SERVER_PORT443:80SCRIPT_NAME/latin1)encoding)urllib.parser, r' )r( urlr, s r r r % s J # $U *C""""""{{; 4w{##w}%%$%00}%..sW]333}%--sW]33355]++2sXFFFFCJr Tc t | }ddlm} || dd dd }| d s||d d z }n||z }|r#| d r|d| d z z }|S )Nr r+ PATH_INFO z/;=,r5 )safer6 r3 QUERY_STRING?)r r7 r, r' )r( include_queryr8 r, path_infos r r r 9 s L ' " "C""""""gkk+b11RRRI;;}%% y}y -^44 -sW^,,,Jr c | dd }|sd S | d }d |dd D |dd<