%PDF- %PDF-
Direktori : /opt/cloudlinux/venv/lib64/python3.11/site-packages/xray/console_utils/ |
Current File : //opt/cloudlinux/venv/lib64/python3.11/site-packages/xray/console_utils/base_app.py |
# -*- 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