Server IP : 66.29.132.122 / Your IP : 18.119.138.202 Web Server : LiteSpeed System : Linux business142.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : admazpex ( 531) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/self/root/proc/thread-self/root/opt/hc_python/lib64/python3.8/site-packages/sentry_sdk/ |
Upload File : |
import io import urllib3 from sentry_sdk._types import TYPE_CHECKING if TYPE_CHECKING: from typing import Any from typing import Dict from typing import Optional from sentry_sdk.utils import logger from sentry_sdk.envelope import Envelope class SpotlightClient: def __init__(self, url): # type: (str) -> None self.url = url self.http = urllib3.PoolManager() self.tries = 0 def capture_envelope(self, envelope): # type: (Envelope) -> None if self.tries > 3: logger.warning( "Too many errors sending to Spotlight, stop sending events there." ) return body = io.BytesIO() envelope.serialize_into(body) try: req = self.http.request( url=self.url, body=body.getvalue(), method="POST", headers={ "Content-Type": "application/x-sentry-envelope", }, ) req.close() except Exception as e: self.tries += 1 logger.warning(str(e)) def setup_spotlight(options): # type: (Dict[str, Any]) -> Optional[SpotlightClient] url = options.get("spotlight") if isinstance(url, str): pass elif url is True: url = "http://localhost:8969/stream" else: return None return SpotlightClient(url)