/
opt
/
cloudlinux
/
venv
/
lib64
/
python3.11
/
site-packages
/
xray
/
console_utils
/
Upload Filee
HOME
# -*- coding: utf-8 -*- # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2021 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT import functools import logging import sys from typing import Callable from sentry_sdk import capture_exception from xray.internal.exceptions import XRayError, XRayManagerExit def app(func: Callable): """ Basic logic of an X-Ray application: - catch all known errors and print them as basic cloudlinux error messages """ @functools.wraps(func) def wrapper(*args, **kwargs): try: return func(*args, **kwargs) except XRayManagerExit as e: logging.info('Exiting on exception %s', e) print(e) sys.exit(e.exitcode) except XRayError as e: print(e) capture_exception(e) sys.exit(1) return wrapper