a
    xd                     @   s   d dl 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
rd 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dedef dZndd ZedddZedddZdddZdd Zdd ZdS )    N)Hub)event_from_exception)reraisewraps)MYPY)Any)Callable)TypeVar)Union)Optional)overloadF.)boundc                 C   s   | S N )xr   r   Z/var/www/html/Ranjet/env/lib/python3.9/site-packages/sentry_sdk/integrations/serverless.pyr      s    r   Tc                 C   s   d S r   r   fflushr   r   r   serverless_function   s    r   c                 C   s   d S r   r   r   r   r   r   r   #   s    c                    s$    fdd}| d u r|S || S d S )Nc                    s   t   fdd}|S )Nc               	      s   t t j}| }|  W d    n1 s20    Y  zRz* | i |W W rZt  W  d    S  ty   t  Y n0 W rt  nrt  0 W d    n1 s0    Y  d S r   )r   currentZconfigure_scopeZclear_breadcrumbs_flush_client	Exception_capture_and_reraise)argskwargshubZscoper   r   r   inner-   s    
&z3serverless_function.<locals>.wrapper.<locals>.innerr   )r   r   r   )r   r   wrapper+   s    z$serverless_function.<locals>.wrapperr   )r   r   r!   r   r    r   r   )   s    c                  C   sN   t  } tj}|jd urBt| |jjdddd\}}|j||d t|   d S )NZ
serverlessF)typeZhandled)Zclient_optionsZ	mechanism)hint)	sysexc_infor   r   clientr   optionsZcapture_eventr   )r%   r   eventr#   r   r   r   r   D   s    

r   c                   C   s
   t j S r   )r   r   r   r   r   r   r   r   S   s    r   )T)NT)NT)r$   Zsentry_sdk.hubr   Zsentry_sdk.utilsr   Zsentry_sdk._compatr   Zsentry_sdk._functoolsr   Zsentry_sdk._typesr   typingr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   <module>   s*   
