HEX
Server: Apache
System: Linux 185.122.168.184.host.secureserver.net 5.14.0-570.60.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Nov 5 05:00:59 EST 2025 x86_64
User: barbeatleanalyti (1024)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //var/opt/nydus/ops/mysql/opentelemetry/baggage/propagation/__pycache__/__init__.cpython-39.pyc
a

�,�hY�@s�ddlmZddlmZddlmZmZmZmZm	Z	ddl
mZmZddl
mZmZmZddlmZddlmZddlmZdd	lmZee�ZGd
d�dej�Zeeefed�d
d�Zeeej eej d�dd�Z!dS)�)�	getLogger)�split)�Iterable�List�Mapping�Optional�Set)�
quote_plus�unquote_plus)�_is_valid_pair�get_all�set_baggage)�get_current)�Context)�textmap)�_DELIMITER_PATTERNc@s�eZdZdZdZdZdZdZdej	fej
eeej
ej
ed�dd	�Zdejfej
eeejej
dd
�dd�Zeeed
�dd��ZdS)�W3CBaggagePropagatorzAExtracts and injects Baggage which is used to annotate telemetry.i i�ZbaggageN)�carrier�context�getter�returnc
	Cs,|durt�}t|�||j��}|s(|St|�|jkrFt�d|�|Stt	|�}|j
}t|�|j
krpt�d|�|D]�}t|�|jkr�t�d|�qt|s�qtz|�dd�\}}	Wn"ty�t�d|�YqtYn0t
||	�s�t�d|�qtt|���}t|	���}	t||	|d	�}|d8}|d
krt�q(qt|S)z�Extract Baggage from the carrier.

        See
        `mysql.opentelemetry.propagators.textmap.TextMapPropagator.extract`
        NzKBaggage header `%s` exceeded the maximum number of bytes per baggage-stringz?Baggage header `%s` exceeded the maximum number of list-memberszGBaggage entry `%s` exceeded the maximum number of bytes per list-member�=�z1Baggage list-member `%s` doesn't match the formatzInvalid baggage entry: `%s`�rr)r�_extract_first_element�get�_BAGGAGE_HEADER_NAME�len�_MAX_HEADER_LENGTH�_logger�warningrr�
_MAX_PAIRS�_MAX_PAIR_LENGTH�	Exceptionrr
�stripr
)
�selfrrr�header�baggage_entriesZtotal_baggage_entries�entry�name�value�r,�c/opt/nydus/tmp/pip-target-wkfpz8uv/lib64/python/mysql/opentelemetry/baggage/propagation/__init__.py�extract%s`�
���

�zW3CBaggagePropagator.extract)rr�setterrcCs.t|d�}|sdSt|�}|�||j|�dS)z�Injects Baggage into the carrier.

        See
        `mysql.opentelemetry.propagators.textmap.TextMapPropagator.inject`
        rN)r�_format_baggage�setr)r&rrr/r(Zbaggage_stringr,r,r-�injectls

zW3CBaggagePropagator.inject)rcCs|jhS)z.Returns a set with the fields set in `inject`.)r)r&r,r,r-�fields~szW3CBaggagePropagator.fields)�__name__�
__module__�__qualname__�__doc__rr#r"rrZdefault_getter�CarrierTrrZGetterr.Zdefault_setterZSetterr2�propertyr�strr3r,r,r,r-rs.�
�J�
�r)r(rcCsd�dd�|��D��S)N�,css.|]&\}}tt|��dtt|��VqdS)rN)r	r:)�.0�keyr+r,r,r-�	<genexpr>�s�z"_format_baggage.<locals>.<genexpr>)�join�items)r(r,r,r-r0�s
�r0)r@rcCs|durdStt|�d�S)N)�next�iter)r@r,r,r-r�srN)"�loggingr�rer�typingrrrrr�urllib.parser	r
Zmysql.opentelemetry.baggagerrr
Zmysql.opentelemetry.contextrZ#mysql.opentelemetry.context.contextrZmysql.opentelemetry.propagatorsrZmysql.opentelemetry.util.rerr4r ZTextMapPropagatorrr:�objectr0r8rr,r,r,r-�<module>sg�