ACIL FM
Dark
Refresh
Current DIR:
/opt/imunify360/venv/lib/python3.11/site-packages/sentry_sdk/integrations
/
opt
imunify360
venv
lib
python3.11
site-packages
sentry_sdk
integrations
Upload
Zip Selected
Delete Selected
Pilih semua
Nama
Ukuran
Permission
Aksi
django
-
chmod
Open
Rename
Delete
spark
-
chmod
Open
Rename
Delete
__pycache__
-
chmod
Open
Rename
Delete
aiohttp.py
7.77 MB
chmod
View
DL
Edit
Rename
Delete
argv.py
945 B
chmod
View
DL
Edit
Rename
Delete
asgi.py
8.17 MB
chmod
View
DL
Edit
Rename
Delete
atexit.py
1.79 MB
chmod
View
DL
Edit
Rename
Delete
aws_lambda.py
12.64 MB
chmod
View
DL
Edit
Rename
Delete
beam.py
5.53 MB
chmod
View
DL
Edit
Rename
Delete
boto3.py
3.64 MB
chmod
View
DL
Edit
Rename
Delete
bottle.py
6.04 MB
chmod
View
DL
Edit
Rename
Delete
celery.py
8.91 MB
chmod
View
DL
Edit
Rename
Delete
chalice.py
4.47 MB
chmod
View
DL
Edit
Rename
Delete
dedupe.py
1.14 MB
chmod
View
DL
Edit
Rename
Delete
excepthook.py
2.14 MB
chmod
View
DL
Edit
Rename
Delete
executing.py
1.98 MB
chmod
View
DL
Edit
Rename
Delete
falcon.py
6.64 MB
chmod
View
DL
Edit
Rename
Delete
flask.py
7.25 MB
chmod
View
DL
Edit
Rename
Delete
gcp.py
7.21 MB
chmod
View
DL
Edit
Rename
Delete
gnu_backtrace.py
2.84 MB
chmod
View
DL
Edit
Rename
Delete
logging.py
7.4 MB
chmod
View
DL
Edit
Rename
Delete
modules.py
1.36 MB
chmod
View
DL
Edit
Rename
Delete
pure_eval.py
4.41 MB
chmod
View
DL
Edit
Rename
Delete
pyramid.py
6.91 MB
chmod
View
DL
Edit
Rename
Delete
redis.py
3 MB
chmod
View
DL
Edit
Rename
Delete
rq.py
4.68 MB
chmod
View
DL
Edit
Rename
Delete
sanic.py
7.53 MB
chmod
View
DL
Edit
Rename
Delete
serverless.py
1.92 MB
chmod
View
DL
Edit
Rename
Delete
sqlalchemy.py
2.87 MB
chmod
View
DL
Edit
Rename
Delete
stdlib.py
7.18 MB
chmod
View
DL
Edit
Rename
Delete
threading.py
2.79 MB
chmod
View
DL
Edit
Rename
Delete
tornado.py
6.84 MB
chmod
View
DL
Edit
Rename
Delete
trytond.py
1.69 MB
chmod
View
DL
Edit
Rename
Delete
wsgi.py
10.13 MB
chmod
View
DL
Edit
Rename
Delete
_wsgi_common.py
4.65 MB
chmod
View
DL
Edit
Rename
Delete
__init__.py
6.36 MB
chmod
View
DL
Edit
Rename
Delete
Edit file: /opt/imunify360/venv/lib/python3.11/site-packages/sentry_sdk/integrations/pyramid.py
from __future__ import absolute_import import os import sys import weakref from pyramid.httpexceptions import HTTPException from pyramid.request import Request from sentry_sdk.hub import Hub, _should_send_default_pii from sentry_sdk.utils import capture_internal_exceptions, event_from_exception from sentry_sdk._compat import reraise, iteritems from sentry_sdk.integrations import Integration from sentry_sdk.integrations._wsgi_common import RequestExtractor from sentry_sdk.integrations.wsgi import SentryWsgiMiddleware from sentry_sdk._types import MYPY if MYPY: from pyramid.response import Response from typing import Any from sentry_sdk.integrations.wsgi import _ScopedResponse from typing import Callable from typing import Dict from typing import Optional from webob.cookies import RequestCookies # type: ignore from webob.compat import cgi_FieldStorage # type: ignore from sentry_sdk.utils import ExcInfo from sentry_sdk._types import EventProcessor if getattr(Request, "authenticated_userid", None): def authenticated_userid(request): # type: (Request) -> Optional[Any] return request.authenticated_userid else: # bw-compat for pyramid < 1.5 from pyramid.security import authenticated_userid # type: ignore TRANSACTION_STYLE_VALUES = ("route_name", "route_pattern") class PyramidIntegration(Integration): identifier = "pyramid" transaction_style = None def __init__(self, transaction_style="route_name"): # type: (str) -> None if transaction_style not in TRANSACTION_STYLE_VALUES: raise ValueError( "Invalid value for transaction_style: %s (must be in %s)" % (transaction_style, TRANSACTION_STYLE_VALUES) ) self.transaction_style = transaction_style @staticmethod def setup_once(): # type: () -> None from pyramid import router from pyramid.request import Request old_call_view = router._call_view def sentry_patched_call_view(registry, request, *args, **kwargs): # type: (Any, Request, *Any, **Any) -> Response hub = Hub.current integration = hub.get_integration(PyramidIntegration) if integration is not None: with hub.configure_scope() as scope: try: if integration.transaction_style == "route_name": scope.transaction = request.matched_route.name elif integration.transaction_style == "route_pattern": scope.transaction = request.matched_route.pattern except Exception: pass scope.add_event_processor( _make_event_processor(weakref.ref(request), integration) ) return old_call_view(registry, request, *args, **kwargs) router._call_view = sentry_patched_call_view if hasattr(Request, "invoke_exception_view"): old_invoke_exception_view = Request.invoke_exception_view def sentry_patched_invoke_exception_view(self, *args, **kwargs): # type: (Request, *Any, **Any) -> Any rv = old_invoke_exception_view(self, *args, **kwargs) if ( self.exc_info and all(self.exc_info) and rv.status_int == 500 and Hub.current.get_integration(PyramidIntegration) is not None ): _capture_exception(self.exc_info) return rv Request.invoke_exception_view = sentry_patched_invoke_exception_view old_wsgi_call = router.Router.__call__ def sentry_patched_wsgi_call(self, environ, start_response): # type: (Any, Dict[str, str], Callable[..., Any]) -> _ScopedResponse hub = Hub.current integration = hub.get_integration(PyramidIntegration) if integration is None: return old_wsgi_call(self, environ, start_response) def sentry_patched_inner_wsgi_call(environ, start_response): # type: (Dict[str, Any], Callable[..., Any]) -> Any try: return old_wsgi_call(self, environ, start_response) except Exception: einfo = sys.exc_info() _capture_exception(einfo) reraise(*einfo) return SentryWsgiMiddleware(sentry_patched_inner_wsgi_call)( environ, start_response ) router.Router.__call__ = sentry_patched_wsgi_call def _capture_exception(exc_info): # type: (ExcInfo) -> None if exc_info[0] is None or issubclass(exc_info[0], HTTPException): return hub = Hub.current if hub.get_integration(PyramidIntegration) is None: return # If an integration is there, a client has to be there. client = hub.client # type: Any event, hint = event_from_exception( exc_info, client_options=client.options, mechanism={"type": "pyramid", "handled": False}, ) hub.capture_event(event, hint=hint) class PyramidRequestExtractor(RequestExtractor): def url(self): # type: () -> str return self.request.path_url def env(self): # type: () -> Dict[str, str] return self.request.environ def cookies(self): # type: () -> RequestCookies return self.request.cookies def raw_data(self): # type: () -> str return self.request.text def form(self): # type: () -> Dict[str, str] return { key: value for key, value in iteritems(self.request.POST) if not getattr(value, "filename", None) } def files(self): # type: () -> Dict[str, cgi_FieldStorage] return { key: value for key, value in iteritems(self.request.POST) if getattr(value, "filename", None) } def size_of_file(self, postdata): # type: (cgi_FieldStorage) -> int file = postdata.file try: return os.fstat(file.fileno()).st_size except Exception: return 0 def _make_event_processor(weak_request, integration): # type: (Callable[[], Request], PyramidIntegration) -> EventProcessor def event_processor(event, hint): # type: (Dict[str, Any], Dict[str, Any]) -> Dict[str, Any] request = weak_request() if request is None: return event with capture_internal_exceptions(): PyramidRequestExtractor(request).extract_into_event(event) if _should_send_default_pii(): with capture_internal_exceptions(): user_info = event.setdefault("user", {}) user_info.setdefault("id", authenticated_userid(request)) return event return event_processor
Simpan
Batal
Isi Zip:
Unzip
Create
Buat Folder
Buat File
Terminal / Execute
Run
Chmod Bulk
All File
All Folder
All File dan Folder
Apply