o
    i!
                     @   sR  d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dlm
Z
 d dlmZ d d	lmZ d d
lmZ d dlmZ eeZdedee dee dee dee deeeee f  deeeef  deeeef  deeeef  dedeeeef  deeeee f  deeeef  ddfddZd!ddZd!dd ZdS )"    )Mapping)Any)Optional)Union)Span)APPSEC)SPAN_DATA_NAMES)core)	telemetry)
get_logger)configspan
request_ipraw_uriroutemethodrequest_headersrequest_cookiesparsed_queryrequest_path_paramsrequest_bodystatus_coderesponse_headersresponse_cookiesreturnNc                 C   s   t jrW| jt jv rYddlm} |
d urt|
nd }
tj|ftj	|ftj
|ftj|ftj|ftj|ftj|ftj|ftj|	ftj|
ftj|fg}|D ]\}}|d urV||| qId S d S d S )Nr   )set_waf_address)
asm_config_asm_enabled	span_type_asm_http_span_types#ddtrace.appsec._asm_request_contextr   strr   REQUEST_HTTP_IPREQUEST_URI_RAWREQUEST_ROUTEREQUEST_METHODREQUEST_HEADERS_NO_COOKIESREQUEST_COOKIESREQUEST_QUERYREQUEST_PATH_PARAMSREQUEST_BODYRESPONSE_STATUSRESPONSE_HEADERS_NO_COOKIES)r   r   r   r   r   r   r   r   r   r   r   r   r   r   	addresseskv r0   L/home/ubuntu/.local/lib/python3.10/site-packages/ddtrace/appsec/_handlers.py_on_set_http_meta   s*   
r2   c                   C   sD   zt jtjttjtj W d S  t	y!   t
jddd Y d S w )Nz4Could not set appsec_enabled telemetry config statusT)exc_info)r
   telemetry_writeradd_configurationr   ENVintr   r   asm_enabled_origin	Exceptionloggerdebugr0   r0   r0   r1   _on_telemetry_periodic<   s   
r<   c                   C   s   t dt t dt d S )Nztelemetry.periodicset_http_meta_for_asm)r	   onr<   r2   r0   r0   r0   r1   listenG   s   r?   )r   N)collections.abcr   typingr   r   r   ddtrace._trace.spanr   ddtrace.appsec._constantsr   r   ddtrace.internalr	   r
   ddtrace.internal.loggerr   ddtrace.internal.settings.asmr   r   __name__r:   r!   dictr7   r2   r<   r?   r0   r0   r0   r1   <module>   sV    	


'