OXIESEC PANEL
- Current Dir:
/
/
opt
/
alt
/
python37
/
lib
/
python3.7
/
site-packages
/
sentry_sdk
/
integrations
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/16/2024 09:01:45 PM
rwxr-xr-x
📄
__init__.py
6.36 KB
07/27/2021 02:04:04 PM
rw-r--r--
📁
__pycache__
-
02/16/2024 09:01:45 PM
rwxr-xr-x
📄
_wsgi_common.py
4.65 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
aiohttp.py
7.77 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
argv.py
945 bytes
07/27/2021 02:04:04 PM
rw-r--r--
📄
asgi.py
8.26 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
atexit.py
1.79 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
aws_lambda.py
14.99 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
beam.py
5.53 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
boto3.py
4.05 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
bottle.py
6.06 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
celery.py
9.31 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
chalice.py
4.5 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
dedupe.py
1.14 KB
07/27/2021 02:04:04 PM
rw-r--r--
📁
django
-
02/16/2024 09:01:45 PM
rwxr-xr-x
📄
excepthook.py
2.14 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
executing.py
1.98 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
falcon.py
6.64 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
flask.py
7.3 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
gcp.py
7.84 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
gnu_backtrace.py
2.84 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
httpx.py
2.55 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
logging.py
7.54 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
modules.py
1.36 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
pure_eval.py
4.41 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
pyramid.py
6.91 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
redis.py
3 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
rq.py
4.84 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
sanic.py
8.44 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
serverless.py
1.92 KB
07/27/2021 02:04:04 PM
rw-r--r--
📁
spark
-
02/16/2024 09:01:45 PM
rwxr-xr-x
📄
sqlalchemy.py
2.87 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
stdlib.py
7.25 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
threading.py
2.79 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
tornado.py
7.02 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
trytond.py
1.69 KB
07/27/2021 02:04:04 PM
rw-r--r--
📄
wsgi.py
10.89 KB
07/27/2021 02:04:04 PM
rw-r--r--
Editing: chalice.py
Close
import sys from sentry_sdk._compat import reraise from sentry_sdk.hub import Hub from sentry_sdk.integrations import Integration, DidNotEnable from sentry_sdk.integrations.aws_lambda import _make_request_event_processor from sentry_sdk.utils import ( capture_internal_exceptions, event_from_exception, ) from sentry_sdk._types import MYPY from sentry_sdk._functools import wraps import chalice # type: ignore from chalice import Chalice, ChaliceViewError from chalice.app import EventSourceHandler as ChaliceEventSourceHandler # type: ignore if MYPY: from typing import Any from typing import Dict from typing import TypeVar from typing import Callable F = TypeVar("F", bound=Callable[..., Any]) try: from chalice import __version__ as CHALICE_VERSION except ImportError: raise DidNotEnable("Chalice is not installed") class EventSourceHandler(ChaliceEventSourceHandler): # type: ignore def __call__(self, event, context): # type: (Any, Any) -> Any hub = Hub.current client = hub.client # type: Any with hub.push_scope() as scope: with capture_internal_exceptions(): configured_time = context.get_remaining_time_in_millis() scope.add_event_processor( _make_request_event_processor(event, context, configured_time) ) try: return ChaliceEventSourceHandler.__call__(self, event, context) except Exception: exc_info = sys.exc_info() event, hint = event_from_exception( exc_info, client_options=client.options, mechanism={"type": "chalice", "handled": False}, ) hub.capture_event(event, hint=hint) hub.flush() reraise(*exc_info) def _get_view_function_response(app, view_function, function_args): # type: (Any, F, Any) -> F @wraps(view_function) def wrapped_view_function(**function_args): # type: (**Any) -> Any hub = Hub.current client = hub.client # type: Any with hub.push_scope() as scope: with capture_internal_exceptions(): configured_time = app.lambda_context.get_remaining_time_in_millis() scope.transaction = app.lambda_context.function_name scope.add_event_processor( _make_request_event_processor( app.current_request.to_dict(), app.lambda_context, configured_time, ) ) try: return view_function(**function_args) except Exception as exc: if isinstance(exc, ChaliceViewError): raise exc_info = sys.exc_info() event, hint = event_from_exception( exc_info, client_options=client.options, mechanism={"type": "chalice", "handled": False}, ) hub.capture_event(event, hint=hint) hub.flush() raise return wrapped_view_function # type: ignore class ChaliceIntegration(Integration): identifier = "chalice" @staticmethod def setup_once(): # type: () -> None try: version = tuple(map(int, CHALICE_VERSION.split(".")[:3])) except (ValueError, TypeError): raise DidNotEnable("Unparsable Chalice version: {}".format(CHALICE_VERSION)) if version < (1, 20): old_get_view_function_response = Chalice._get_view_function_response else: from chalice.app import RestAPIEventHandler old_get_view_function_response = ( RestAPIEventHandler._get_view_function_response ) def sentry_event_response(app, view_function, function_args): # type: (Any, F, Dict[str, Any]) -> Any wrapped_view_function = _get_view_function_response( app, view_function, function_args ) return old_get_view_function_response( app, wrapped_view_function, function_args ) if version < (1, 20): Chalice._get_view_function_response = sentry_event_response else: RestAPIEventHandler._get_view_function_response = sentry_event_response # for everything else (like events) chalice.app.EventSourceHandler = EventSourceHandler