<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
U
    \f                     @   s   d dl Z d dlmZmZ d dlmZ d dlmZmZm	Z	m
Z
 d dlmZ d dlmZ dd Zd	d
 ZG dd deZdd Zdd ZdS )    N)Hub_should_send_default_pii)reraise)AnnotatedValuecapture_internal_exceptionsevent_from_exceptionlogger)Integration)_filter_headersc                    s    fdd}|S )Nc           	   
      s   t j}|t}|d kr* | |f||S | }t & |  |j|_|	t
| | W 5 Q R X z  | |f||W W  5 Q R  S  tk
r   t }t||jjdddd\} }|j| |d t|  Y nX W 5 Q R X d S )N
aws_lambdaF)typeZhandled)Zclient_optionsZ	mechanism)hint)r   currentget_integrationAwsLambdaIntegrationZ
push_scoper   Zclear_breadcrumbsfunction_nameZtransactionZadd_event_processor_make_request_event_processor	Exceptionsysexc_infor   clientoptionsZcapture_eventr   )	eventcontextargskwargshubintegrationZscoper   r   handler S/opt/alt/python38/lib/python3.8/site-packages/sentry_sdk/integrations/aws_lambda.pysentry_handler   s(    

 
z%_wrap_handler.<locals>.sentry_handlerr    )r   r"   r    r   r!   _wrap_handler   s    r#   c               	   C   s8   t  ( tj} | t}|d k	r*| j  W 5 Q R X d S N)r   r   r   r   r   r   flush)r   r   r    r    r!   _drain_queue+   s
    
r&   c                   @   s   e Zd ZdZedd ZdS )r   r   c                     s   dd l } d}t| ds<zdd l} d}W n tk
r:   Y nX t| dsTtd d S |r| j  fdd}|| _| jfd	d
}|| _| jfdd}|| _n@| j  fdd}|| _dd }|| j	j
| j	_
|| j	j| j	_d S )Nr   Thandle_http_requestFhandle_event_requestzDNot running in AWS Lambda environment, AwsLambdaIntegration disabledc                    s   t | }  | f||S r$   r#   request_handlerr   r   old_handle_event_requestr    r!   sentry_handle_event_requestP   s    zDAwsLambdaIntegration.setup_once.<locals>.sentry_handle_event_requestc                    s   t | }  | f||S r$   r)   r*   )old_handle_http_requestr    r!   sentry_handle_http_requestX   s    zCAwsLambdaIntegration.setup_once.<locals>.sentry_handle_http_requestc                     s   t    | |S r$   r&   r   r   )old_to_jsonr    r!   sentry_to_jsonc   s    z7AwsLambdaIntegration.setup_once.<locals>.sentry_to_jsonc                    s   t |} | |f||S r$   r)   )Zlambda_runtime_clientr+   r   r   r,   r    r!   r.   k   s     c                    s    fdd}|S )Nc                     s   t    | |S r$   r1   r2   fr    r!   innery   s    zKAwsLambdaIntegration.setup_once.<locals>._wrap_post_function.<locals>.innerr    )r6   r7   r    r5   r!   _wrap_post_functionx   s    z<AwsLambdaIntegration.setup_once.<locals>._wrap_post_function)__main__hasattrZ	bootstrapImportErrorr   Zwarningr(   r'   Zto_jsonZLambdaRuntimeClientZpost_invocation_resultZpost_invocation_error)Zlambda_bootstrapZpre_37r.   r0   r4   r8   r    )r-   r/   r3   r!   
setup_once8   sB    

zAwsLambdaIntegration.setup_onceN)__name__
__module____qualname__
identifierstaticmethodr<   r    r    r    r!   r   5   s   r   c                    s    fdd}|S )Nc                    s  |  di }   j j j jd|d< |  di }dkrLd |d< t |d< dkrnd |d	< d
krtd
 |d
< dd rt	ddddddggi|d< t
 r|  di }di d}|d k	r||d< di d}|d k	r||d< | S )Nextra)Zremaining_time_in_millisr   function_versioninvoked_function_arnaws_request_idlambdarequestZ
httpMethodmethodurlZqueryStringParametersZquery_stringheadersbody remz!rawxr   datauserZidentityZuserArnidZsourceIpZ
ip_address)
setdefaultZget_remaining_time_in_millisr   rC   rD   rE   _get_urlr
   getr   r   )r   r   rB   rG   Z	user_inforQ   Zipaws_context	aws_eventr    r!   event_processor   s4    

z6_make_request_event_processor.<locals>.event_processorr    )rW   rV   rX   r    rU   r!   r      s    )r   c                 C   sV   |  dd }|  di }| dd }| dd }|rJ|rJ|rJd|||S d|jS )NpathrJ   ZHostzX-Forwarded-Protoz	{}://{}{}zawslambda:///{})rT   formatr   )r   r   rY   rJ   hostprotor    r    r!   rS      s    rS   )r   Zsentry_sdk.hubr   r   Zsentry_sdk._compatr   Zsentry_sdk.utilsr   r   r   r   Zsentry_sdk.integrationsr	   Z$sentry_sdk.integrations._wsgi_commonr
   r#   r&   r   r   rS   r    r    r    r!   <module>   s   
R-