File: //opt/alt/python310/lib64/python3.10/wsgiref/__pycache__/headers.cpython-310.opt-2.pyc
o
0�i� � @ sD d dl Z e �d�Ze �d�Ze �d�Zd
dd�ZG dd � d �ZdS )� Nz[ \(\)<>@,;:\\"/\[\]\?=]z[\x00-\x1F\x7F]z[\x00-\x08\x0A-\x1F\x7F]� c C sT |d ur(t |�dkr(|st�|�r"|�dd��dd�}d| |f S d| |f S | S )Nr �\z\\�"z\"z%s="%s"z%s=%s)�len� tspecials�search�replace)Zparam�valueZquote� r
�6/opt/alt/python310/lib64/python3.10/wsgiref/headers.py�_formatparam s r c @ s� e Zd Z d$dd�Zdd� Zdd� Zdd � Zd
d� Zdd
� Zdd� Z dd� Z
d$dd�Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� ZdS )%�HeadersNc C s. |d ur|ng }t |�turtd��|| _d S )Nz+Headers must be a list of name/value tuples)�type�list� TypeError�_headers�_convert_string_type)�selfZheaders�k�vr
r
r �__init__$ s
zHeaders.__init__c C sB t |�tu r|rtnt}|�|�rtd��|S td�t|����)Nz)Control characters not allowed in headersz1Header names/values must be of type str (got {0})) r �str�_name_disallowed_re�_value_disallowed_rer �
ValueError�AssertionError�format�repr)r r �nameZregexr
r
r r . s
�zHeaders._convert_string_typec C s t | j�S �N)r r �r r
r
r �__len__8 s
zHeaders.__len__c C s0 | |= | j �| j|dd�| j|dd�f� d S �NT�r F)r �appendr )r r �valr
r
r �__setitem__<