%PDF- %PDF-
| Direktori : /snap/core18/3084/usr/lib/python3.6/wsgiref/__pycache__/ |
| Current File : //snap/core18/3084/usr/lib/python3.6/wsgiref/__pycache__/headers.cpython-36.pyc |
3
���i� � @ sF d Z ddlZejd�Zejd�Zejd�Zddd�ZG d d
� d
�ZdS )z�Manage 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[ \(\)<>@,;:\\"/\[\]\?=]z[\x00-\x1F\x7F]z[\x00-\x08\x0A-\x1F\x7F]� c C sX |dk rPt |�dkrP|s"tj|�rB|jdd�jdd�}d| |f S d| |f S n| S dS ) 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� tspecials�search�replace)Zparam�valueZquote� r
�%/usr/lib/python3.6/wsgiref/headers.py�_formatparam s r c @ s� e Zd ZdZd%dd�Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zd&dd�Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd � Zd!d"� Zd#d$� ZdS )'�Headersz,Manage a collection of HTTP response headersNc C s\ |d k r|ng }t |�tk r$td��|| _x,|D ]$\}}| j|dd� | j|dd� q0W d S )Nz+Headers must be a list of name/value tuplesT)�nameF)�type�list� TypeError�_headers�_convert_string_type)�selfZheaders�k�vr
r
r �__init__$ s zHeaders.__init__c C sD t |�tkr.|rtnt}|j|�r*td��|S tdjt|����dS )zConvert/check value type.z)Control characters not allowed in headersz1Header names/values must be of type str (got {0})N) r �str�_name_disallowed_re�_value_disallowed_rer �
ValueError�AssertionError�format�repr)r r r Zregexr
r
r r . 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__8 s zHeaders.__len__c C s. | |= | j j| j|dd�| j|dd�f� dS )zSet the value of a header.T)r FN)r �appendr )r r �valr
r
r �__setitem__<