OwlCyberSecurity - MANAGER
Edit File: spotlight.cpython-312.pyc
� G��g�! � �� � d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl m Z mZ d dlm Z e rd dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d d lmZmZmZ d d lmZ ej4 d� ZdZd Z G d� d� Z d dlmZ d dl m!Z!m"Z"m#Z# d dl$m%Z% dZ&dZ'dZ(dZ)dZ* e+d� e e,e*j[ � e*j] � � � D � � Z/ G d� de� Z0d� Z2y# e1$ r dZ%Y d� Z2yw xY w)� N)�chain�product)� TYPE_CHECKING)�Any)�Callable)�Dict)�Optional)�Self)�logger�env_to_bool�capture_internal_exceptions)�Envelope� spotlightzhttp://localhost:8969/streamz(sentry_sdk.spotlight.SpotlightMiddlewarec � � e Zd Zd� Zd� Zy)�SpotlightClientc �R � || _ t j � | _ d| _ y )Nr )�url�urllib3�PoolManager�http�fails)�selfr s �C/opt/hc_python/lib/python3.12/site-packages/sentry_sdk/spotlight.py�__init__zSpotlightClient.__init__% s � �����'�'�)�� ��� � c �( � t j � }|j |� | j j | j |j � dddi�� }|j � d| _ y # t $ r�}| j dk r4t j t |� � | xj dz c_ nC| j dk( r/| xj dz c_ t j d� Y d }~y Y d }~y Y d }~y d }~ww xY w) N�POST�Content-Typezapplication/x-sentry-envelope)r �body�method�headersr � � z]Looks like Spotlight is not running, will keep trying to send events but will not log errors.) �io�BytesIO�serialize_intor �requestr �getvalue�closer � Exception� sentry_logger�warning�str)r �enveloper �req�es r �capture_envelopez SpotlightClient.capture_envelope+ s� � ��z�z�|������%� ��)�)�#�#��H�H��]�]�_��"�$C�� $� �C� �I�I�K��D�J��� ��z�z�A�~��%�%�c�!�f�-�� � �a�� ����q��� � �a�� ��%�%�s�� � !� �� �s �AA8 �8 D�A<D�DN)�__name__� __module__�__qualname__r r1 � r r r r $ s � ��r r )�MiddlewareMixin)�HttpResponseServerError�HttpResponse�HttpRequest)�settingsz/assets/main.jsz�<script>window.__spotlight = {{ initOptions: {{ sidecarUrl: '{spotlight_url}', fullPage: false }} }};</script> <script type="module" crossorigin src="{spotlight_js_url}"></script> z�<html><base href="{spotlight_url}"> <script>window.__spotlight = {{ initOptions: {{ fullPage: true, startFrom: "/errors/{event_id}" }}}};</script> zcharset=r c # �\ K � | ]$ }d j dj |� � �� �& y�w)z</{}>� N)�format�join)�.0�charss r � <genexpr>rA W s) � �� � )�P�E� ���r�w�w�u�~�&�P�s �*,c �B � � e Zd ZdZdZ� fd�Zed� � Zd� Zd� Z � xZ S )�SpotlightMiddlewareNc �$ �� t �| � |� dd l}|j | _ | j j � j }|�t j d� y t j j |j d� | _ y )Nr zPCannot find Spotlight client from SpotlightMiddleware, disabling the middleware.z../)�superr �sentry_sdk.api�api� sentry_sdk� get_clientr r+ r, �urllib�parse�urljoinr �_spotlight_url)r �get_responserH �spotlight_client� __class__s �r r zSpotlightMiddleware.__init__` ss �� ��G��\�*�!�(�n�n�D�O�#���9�9�;�E�E���'��%�%�f�� �"(�,�,�"6�"6�7G�7K�7K�U�"S�D�r c �& � | j ��| j �� t j j | j t � }t j j |d�� }t j j |� t j | j |�� | _ | j S | j S # t j j $ r-}t j d|�� Y d }~| j S d }~ww xY w)N�HEAD)r )� spotlight_url�spotlight_js_urlzUCannot get Spotlight JS to inject at %s. SpotlightMiddleware will not be very useful.)�exc_info)rM �_spotlight_scriptrJ rK rL �SPOTLIGHT_JS_ENTRY_PATHr'