ruạṛ
a �u:j�( � @ s� d dl Z d dlmZmZmZmZmZmZmZm Z ddl mZmZ ddl mZmZmZ erdddlmZ zd dlmZ W n ey� d dlmZ Y n0 dZe �d �Ze �e�d ��Ze �e�d ��ZG dd� deeeef �Ze eeeef eeeef eeeef eeeef f Zeeed ed�dd��Z eeed ed�dd��Z ede eef e!ed�dd��Z d e eef e!ed�dd�Z eeee d�dd�Z"eeee ed�dd�Z#de!d�dd�Z$dS )!� N)�AnyStr�cast�List�overload�Sequence�Tuple� TYPE_CHECKING�Union� )� field_name�field_value)�bytesify�LocalProtocolError�validate)�Request)�Literal� s [0-9]+�asciic @ s� e Zd ZdZdZeeeeef dd�dd�Ze d�dd �Z ee d �dd�Ze d�d d�Zed�dd�Ze eeef d�dd�Zeeeef d�dd�ZdS )�Headersa� A list-like interface that allows iterating over headers as byte-pairs of (lowercased-name, value). Internally we actually store the representation as three-tuples, including both the raw original casing, in order to preserve casing over-the-wire, and the lowercased name, for case-insensitive comparisions. r = Request( method="GET", target="/", headers=[("Host", "example.org"), ("Connection", "keep-alive")], http_version="1.1", ) assert r.headers == [ (b"host", b"example.org"), (b"connection", b"keep-alive") ] assert r.headers.raw_items() == [ (b"Host", b"example.org"), (b"Connection", b"keep-alive") ] �_full_itemsN)� full_items�returnc C s || _ d S �N�r )�selfr � r �?/opt/bart/bart_venv/lib/python3.9/site-packages/h11/_headers.py�__init__h s zHeaders.__init__)r c C s t | j�S r )�boolr �r r r r �__bool__k s zHeaders.__bool__)�otherr c C s t | �t |�kS r )�list)r r! r r r �__eq__n s zHeaders.__eq__c C s t | j�S r )�lenr r r r r �__len__q s zHeaders.__len__c C s dt t| �� S )Nz <Headers(%s)>)�reprr"