<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3

  \              	   @   st   d dl Z ddddddgZG dd dZd	d Zd
d ZdddZdd Zdd ZdddddddddjZ	dd Z
dS )    NFileWrapperguess_schemeapplication_urirequest_urishift_path_infosetup_testing_defaultsc               @   s.   e Zd ZdddZdd Zdd Zdd	 Zd
S )r       c             C   s"   || _ || _t|dr|j| _d S )Nclose)filelikeblksizehasattrr	   )selfr
   r    r   $/usr/lib64/python3.6/wsgiref/util.py__init__   s    
zFileWrapper.__init__c             C   s   | j j| j}|r|S td S )N)r
   readr   
IndexError)r   keydatar   r   r   __getitem__   s    zFileWrapper.__getitem__c             C   s   | S )Nr   )r   r   r   r   __iter__   s    zFileWrapper.__iter__c             C   s   | j j| j}|r|S td S )N)r
   r   r   StopIteration)r   r   r   r   r   __next__   s    zFileWrapper.__next__N)r   )__name__
__module____qualname__r   r   r   r   r   r   r   r   r      s   
c             C   s   | j ddkrdS dS d S )NZHTTPSyeson1httpshttp)r   r   r   )get)environr   r   r   r   #   s    c             C   s   | d d }ddl m} | jdr0|| d 7 }nR|| d 7 }| d dkrf| d d	kr|d
| d  7 }n| d dkr|d
| d  7 }||| jdpddd7 }|S )Nzwsgi.url_schemez://r   )quote	HTTP_HOSTSERVER_NAMEr   SERVER_PORT443:80SCRIPT_NAME/latin1)encoding)urllib.parser#   r!   )r"   urlr#   r   r   r   r   +   s    
Tc             C   sp   t | }ddlm} || jddddd}| jdsF||d	d  7 }n||7 }|rl| jd
rl|d| d
  7 }|S )Nr   )r#   	PATH_INFO z/;=,r,   )Zsafer-   r*      ZQUERY_STRING?)r   r.   r#   r!   )r"   Zinclude_queryr/   r#   	path_infor   r   r   r   ?   s    
c             C   s   | j dd}|sd S |jd}dd |dd	 D |dd
< |d }|d= | j dd}tj|d | }|jdr~|d d }| r|jd r|d7 }|| d< dj|| d< |dkrd }|S )Nr0   r1   r+   c             S   s   g | ]}|r|d kr|qS ).r   ).0pr   r   r   
<listcomp>^   s    z#shift_path_info.<locals>.<listcomp>r2   r*   r5   r9   r9   )r!   split	posixpathnormpathendswithjoin)r"   r4   
path_partsnameZscript_namer   r   r   r   L   s$    

c             C   s   | j dd | j dd | j d| d  | j dd d| kr\d	| kr\| j dd
 | j d	d | j dd | j dd | j dd | j dd ddlm}m} | j d|  | j d|  | j dt|  | d dkr| j dd n| d dkr| j dd d S )Nr%   z	127.0.0.1ZSERVER_PROTOCOLzHTTP/1.0r$   ZREQUEST_METHODZGETr*   r0   r1   r+   zwsgi.versionr2   r   zwsgi.run_oncezwsgi.multithreadzwsgi.multiprocess)StringIOBytesIOz
wsgi.inputzwsgi.errorszwsgi.url_schemer    r&   r)   r   r'   )r2   r   )
setdefaultiorA   rB   r   )r"   rA   rB   r   r   r   r   u   s&    r2   )Z
connectionz
keep-alivezproxy-authenticatezproxy-authorizationZteZtrailersztransfer-encodingZupgradec             C   s   t | j S )N)_hoppishlower)Zheader_namer   r   r   is_hop_by_hop   s    rG   )T)r;   __all__r   r   r   r   r   r   __contains__rE   rG   r   r   r   r   <module>   s   
))
