
    i                    T    d Z ddlmZ ddlZddlZddlZ G d dej                  ZdS )z
Sentry middleware for Inngest.

NOT STABLE! This is an experimental feature and may change in the future. If
you'd like to use it, we recommend copying this file into your source code.
    )annotationsNc                  <     e Zd ZdZd fdZdd	ZddZddZ xZS )SentryMiddlewarezC
    Middleware that adds Sentry tags and captures exceptions.
    clientinngest.Inngestraw_requestobjectreturnNonec                    t                                          ||           t          j                    du r|j                            d           t          j        d|j                   dS )z
        Args:
        ----
            client: Inngest client.
            raw_request: Framework/platform specific request object.
        FzSentry SDK is not initializedzinngest.app.idN)super__init__
sentry_sdkis_initializedloggerwarningset_tagapp_id)selfr   r   	__class__s      c/root/projects/qq-shell/venv/lib/python3.11/site-packages/inngest/experimental/sentry_middleware.pyr   zSentryMiddleware.__init__   sf     	---$&&%//M!!"ABBB+V];;;;;    c                ,    t          j                     d S N)r   flush)r   s    r   before_responsez SentryMiddleware.before_response)   s    r   ctx%inngest.Context | inngest.ContextSyncfunctioninngest.Function[typing.Any]stepsinngest.StepMemosc                l   t          j        dt          |j                             t          j        d|j        j                   t          j        d|j        j                   t          j        d|j                   t          j        d|j                   t          j        d|j                   d S )Nzinngest.event.countzinngest.event.idzinngest.event.namezinngest.function.idzinngest.function.namezinngest.run.id)	r   r   leneventseventidnamelocal_idrun_id)r   r   r   r!   s       r   transform_inputz SentryMiddleware.transform_input,   s     	0#cj//BBB-sy|<<</@@@0(2CDDD2HMBBB+SZ88888r   outputinngest.TransformOutputResultc                J    |j         rt          j        |j                    d S d S r   )errorr   capture_exception)r   r,   s     r   transform_outputz!SentryMiddleware.transform_output9   s/    < 	7(66666	7 	7r   )r   r   r   r	   r
   r   )r
   r   )r   r   r   r    r!   r"   r
   r   )r,   r-   r
   r   )	__name__
__module____qualname____doc__r   r   r+   r1   __classcell__)r   s   @r   r   r      s         < < < < < <&   9 9 9 97 7 7 7 7 7 7 7r   r   )r5   
__future__r   typingr   inngestMiddlewareSyncr    r   r   <module>r<      sx     # " " " " "      *7 *7 *7 *7 *7w- *7 *7 *7 *7 *7r   