File manager - Edit - /snap/core20/2866/usr/lib/python3.8/wsgiref/__pycache__/headers.cpython-38.pyc
Back
U �ʦi� � @ sF d Z ddlZe�d�Ze�d�Ze�d�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"t�|�rB|�dd��dd�}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.8/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 sX |d k r|ng }t |�tk r$td��|| _|D ]$\}}| j|dd� | j|dd� q.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}|�|�r*td��|S td�t|����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|dd�| j|dd�f� dS )zSet the value of a header.Tr FN)r �appendr )r r �valr r r �__setitem__<