509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<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ƒp’d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rºd }|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   
))
