i f @ sJ d Z d d l Z e j d Z d d d d Z Gd d d Z d S) zManage HTTP Response Headers
Much of this module is red-handedly pilfered from email.message in the stdlib,
so portions are Copyright (C) 2001,2002 Python Software Foundation, and were
written by Barry Warsaw.
Nz[ \(\)<>@,;:\\"/\[\]\?=] c C sx | d k rp t | d k rp | s3 t j | r_ | j d d j d d } d | | f Sd | | f Sn | Sd S) z~Convenience function to format and return a key=value pair.
This will quote the value if needed or if quote is true.
Nr \z\\"z\"z%s="%s"z%s=%s)len tspecialssearchreplace)ZparamvalueZquote r
4/opt/alt/python34/lib64/python3.4/wsgiref/headers.py_formatparam
s r c @ s e Z d Z d Z d d Z d d Z d d Z d d Z d
d Z d d
Z d d Z
d d Z d d d Z d d Z
d d Z d d Z d d Z d d Z d d Z d! d" Z d# d$ Z d S)%Headersz,Manage a collection of HTTP response headersc C s. t | t k r! t d n | | _ d S)Nz+Headers must be a list of name/value tuples)typelist TypeError_headers)selfZheadersr
r
r __init__ s zHeaders.__init__c C s5 t | t k r | St d j t | d S)zConvert/check value type.z1Header names/values must be of type str (got {0})N)r strAssertionErrorformatrepr)r r r
r
r _convert_string_type) s zHeaders._convert_string_typec C s
t | j S)z9Return the total number of headers, including duplicates.)r r )r r
r
r __len__0 s zHeaders.__len__c C s3 | | =| j j | j | | j | f d S)zSet the value of a header.N)r appendr )r namevalr
r
r __setitem__4 s zHeaders.__setitem__c sB | j j f d d | j D | j d d