o
    i                  	   @   s   d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ ddl	m
Z
 eejZedeee jdd	d
d defddZdeeef fddZdd Zdd ZdS )    N)config)asbool)parse_version   )TraceMiddlewarefalconDD_FALCON_DISTRIBUTED_TRACINGT)default)distributed_tracingreturnc                   C   s   t tddS )N__version__ )getattrr    r   r   Y/home/ubuntu/.local/lib/python3.10/site-packages/ddtrace/contrib/internal/falcon/patch.pyget_version   s   r   c                   C   s   ddiS )Nr   z>=3.0r   r   r   r   r   _supported_versions   s   r   c                   C   sJ   t tddrdS dt_tdkrtddt tdk r#tdd	t dS dS )
zS
    Patch falcon.API to include contrib.falcon.TraceMiddleware
    by default
    _datadog_patchFNT)   r   r   r   zApp.__init__)   r   r   zAPI.__init__)r   r   r   FALCON_VERSIONwraptwrap_function_wrappertraced_initr   r   r   r   patch    s   r   c                 C   s4   | dg }|dt  ||d< | |i | d S )N
middlewarer   )popinsertr   )wrappedinstanceargskwargsmwr   r   r   r   /   s   r   )osr   r   ddtracer   ddtrace.internal.utils.formatsr   ddtrace.internal.utils.versionr   r   r   r   r   _adddictgetenvstrr   r   r   r   r   r   r   r   <module>   s$    
