o
    h5                     @   s   d dl mZmZmZ d dlmZ d dlmZ er6d dlmZ d dl	m
Z
 d dl	mZ d dl	mZ d dl	mZ g d	ZG d
d deZdS )    )capture_internal_exceptionsAnnotatedValueiter_event_frames)string_types)TYPE_CHECKING)Event)Any)Dict)List)Optional)$passwordpasswdsecretapi_keyapikeyauthcredentials	mysql_pwd
privatekeyprivate_keytoken
ip_addresssession	csrftoken	sessionidremote_addrx_csrftokenx_forwarded_for
set_cookiecookieauthorization	x_api_keyr   	x_real_ipaiohttp_sessionzconnect.sid
csrf_tokencsrf_csrf_csrf_token	PHPSESSID_sessionsymfonyuser_session_xsrfz
XSRF-TOKENc                   @   sV   e Zd ZdddZdd Zdd Zdd	 Zd
d Zdd Zdd Z	dd Z
dd ZdS )EventScrubberNc                 C   s(   |d u rt n|| _dd | jD | _d S )Nc                 S   s   g | ]}|  qS  )lower).0xr.   r.   V/var/www/html/aiguide_backend/venv/lib/python3.10/site-packages/sentry_sdk/scrubber.py
<listcomp>A   s    z*EventScrubber.__init__.<locals>.<listcomp>)DEFAULT_DENYLISTdenylist)selfr5   r.   r.   r2   __init__>   s   zEventScrubber.__init__c                 C   sD   t |tsd S | D ]}t |tr| | jv rt ||< qd S N)
isinstancedictkeysr   r/   r5   r   +substituted_because_contains_sensitive_data)r6   dkr.   r.   r2   
scrub_dictC   s   
zEventScrubber.scrub_dictc                 C   s   t  J d|v r=d|d v r| |d d  d|d v r&| |d d  d|d v rE| |d d  W d    d S W d    d S W d    d S 1 sPw   Y  d S )Nrequestheaderscookiesdatar   r?   r6   eventr.   r.   r2   scrub_requestL   s   "zEventScrubber.scrub_requestc                 C   R   t   d|v r| |d  W d    d S W d    d S 1 s"w   Y  d S )NextrarD   rE   r.   r.   r2   scrub_extraW      "zEventScrubber.scrub_extrac                 C   rH   )NuserrD   rE   r.   r.   r2   
scrub_user]   rK   zEventScrubber.scrub_userc                 C   s   t  7 d|v r"d|d v r*|d d D ]}d|v r!| |d  qW d    d S W d    d S W d    d S 1 s=w   Y  d S )NbreadcrumbsvaluesrC   rD   )r6   rF   valuer.   r.   r2   scrub_breadcrumbsc   s   "zEventScrubber.scrub_breadcrumbsc                 C   sP   t   t|D ]}d|v r| |d  qW d    d S 1 s!w   Y  d S )Nvars)r   r   r?   )r6   rF   framer.   r.   r2   scrub_framesl   s   "zEventScrubber.scrub_framesc                 C   sh   t  ' d|v r|d D ]}d|v r| |d  qW d    d S W d    d S 1 s-w   Y  d S )NspansrC   rD   )r6   rF   spanr.   r.   r2   scrub_spanss   s   "zEventScrubber.scrub_spansc                 C   s@   |  | | | | | | | | | | | d S r8   )rG   rJ   rM   rQ   rT   rW   rE   r.   r.   r2   scrub_event{   s   




zEventScrubber.scrub_eventr8   )__name__
__module____qualname__r7   r?   rG   rJ   rM   rQ   rT   rW   rX   r.   r.   r.   r2   r-   =   s    
		r-   N)sentry_sdk.utilsr   r   r   sentry_sdk._compatr   sentry_sdk._typesr   r   typingr   r	   r
   r   r4   objectr-   r.   r.   r.   r2   <module>   s    ,