Your IP : 216.73.216.213


Current Path : /opt/alt/python37/lib/python3.7/site-packages/webob/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/webob/__pycache__/headers.cpython-37.pyc

B

�$O��@s�ddlmZddlmZmZddlmZddgZGdd�de�Zddd	d
d�Z	e
dd
�e	��D��Zdd�Z
dd�ZGdd�de�ZdS)�)�MutableMapping)�
iteritems_�string_types)�	MultiDict�ResponseHeaders�EnvironHeadersc@s^eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
e
Zddd�Zdd�Z
dS)rzn
        Dictionary view on the response headerlist.
        Keys are normalized for case and whitespace.
    cCs<|��}x&t|j�D]\}}|��|kr|SqWt|��dS)N)�lower�reversed�_items�KeyError)�self�key�k�v�r�>/opt/alt/python37/lib/python3.7/site-packages/webob/headers.py�__getitem__s
zResponseHeaders.__getitem__cCs:|��}g}x(|jD]\}}|��|kr|�|�qW|S)N)rr
�append)rr
�resultrrrrr�getallszResponseHeaders.getallcCs:|��}x,t|�D] \}}t|�dkr|d||<qW|S)N�r)�
dict_of_listsr�len)r�rr
�valrrr�mixeds
zResponseHeaders.mixedcCs4i}x*t|�D]\}}|�|��g��|�qW|S)N)r�
setdefaultrr)rrr
rrrrr%szResponseHeaders.dict_of_listscCsZ|��}|j}x6tt|�ddd�D]}||d��|kr$||=q$W|j�||f�dS)Nr���r)rr
�rangerr)rr
�valueZnorm_key�items�irrr�__setitem__+s
zResponseHeaders.__setitem__cCs^|��}|j}d}x:tt|�ddd�D]"}||d��|kr(||=d}q(W|sZt|��dS)NFrrrT)rr
rrr)rr
r �foundr!rrr�__delitem__3szResponseHeaders.__delitem__cCs0|��}x"|jD]\}}|��|krdSqWdS)NTF)rr
)rr
rrrrr�__contains__>s
zResponseHeaders.__contains__NcCs@|��}x"|jD]\}}|��|kr|SqW|j�||f�|S)N)rr
r)rr
�defaultZc_keyrrrrrrGszResponseHeaders.setdefaultcGs�t|�dkr$tdtdt|����|��}xFtt|j��D]4}|j|d��|kr<|j|d}|j|=|Sq<W|r�|dSt|��dS)Nrz(pop expected at most 2 arguments, got %sr)r�	TypeError�reprrrr
r)rr
�argsr!rrrr�popOszResponseHeaders.pop)N)�__name__�
__module__�__qualname__�__doc__rrrrr"r$r%Zhas_keyrr*rrrrr
s
zContent-TypezContent-LengthZContent_TypeZContent_Length)ZCONTENT_TYPEZCONTENT_LENGTHZHTTP_CONTENT_TYPEZHTTP_CONTENT_LENGTHcCsg|]\}}|��|f�qSr)�upper)�.0rrrrr�
<listcomp>jsr1cCsHt|t�sdS|tkrt|S|�d�r@|dd��dd���SdSdS)N�HTTP_��_�-)�
isinstancer�
key2header�
startswith�replace�title)r
rrr�
_trans_keyls

r;cCs(|��}|tkrt|Sd|�dd�S)Nr2r5r4)r/�
header2keyr9)�namerrr�_trans_namevsr>c@sPeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�ZdS)ragAn object that represents the headers as present in a
    WSGI environment.

    This object is a wrapper (with no internal state) for a WSGI
    request object, representing the CGI-style HTTP_* keys as a
    dictionary.  Because a CGI environment can only hold one value for
    each key, this dictionary is single-valued (unlike outgoing
    headers).
    cCs
||_dS)N)�environ)rr?rrr�__init__�szEnvironHeaders.__init__cCs|jt|�S)N)r?r>)r�hnamerrrr�szEnvironHeaders.__getitem__cCs||jt|�<dS)N)r?r>)rrArrrrr"�szEnvironHeaders.__setitem__cCs|jt|�=dS)N)r?r>)rrArrrr$�szEnvironHeaders.__delitem__cCstdtt|j��S)N)�filter�mapr;r?)rrrr�keys�szEnvironHeaders.keyscCst|�|jkS)N)r>r?)rrArrrr%�szEnvironHeaders.__contains__cCstt|����S)N)r�listrD)rrrr�__len__�szEnvironHeaders.__len__ccsx|��D]
}|Vq
WdS)N)rD)rrrrr�__iter__�szEnvironHeaders.__iter__N)r+r,r-r.r@rr"r$rDr%rFrGrrrrr|s	N)�collectionsrZwebob.compatrrZwebob.multidictr�__all__rr7�dictr r<r;r>rrrrr�<module>sZ