$18 GRAYBYTE WORDPRESS FILE MANAGER $44

SERVER : vnpttt-amd7f72-h1.vietnix.vn #1 SMP Fri May 24 12:42:50 UTC 2024
SERVER IP : 103.200.23.149 | ADMIN IP 216.73.216.22
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/cloudlinux/venv/lib/python3.11/site-packages/sentry_sdk/integrations/

HOME
Current File : /opt/cloudlinux/venv/lib/python3.11/site-packages/sentry_sdk/integrations//socket.py
from __future__ import absolute_import

import socket
from sentry_sdk import Hub
from sentry_sdk._types import MYPY
from sentry_sdk.consts import OP
from sentry_sdk.integrations import Integration

if MYPY:
    from socket import AddressFamily, SocketKind
    from typing import Tuple, Optional, Union, List

__all__ = ["SocketIntegration"]


class SocketIntegration(Integration):
    identifier = "socket"

    @staticmethod
    def setup_once():
        # type: () -> None
        """
        patches two of the most used functions of socket: create_connection and getaddrinfo(dns resolver)
        """
        _patch_create_connection()
        _patch_getaddrinfo()


def _get_span_description(host, port):
    # type: (Union[bytes, str, None], Union[str, int, None]) -> str

    try:
        host = host.decode()  # type: ignore
    except (UnicodeDecodeError, AttributeError):
        pass

    description = "%s:%s" % (host, port)  # type: ignore

    return description


def _patch_create_connection():
    # type: () -> None
    real_create_connection = socket.create_connection

    def create_connection(
        address,
        timeout=socket._GLOBAL_DEFAULT_TIMEOUT,  # type: ignore
        source_address=None,
    ):
        # type: (Tuple[Optional[str], int], Optional[float], Optional[Tuple[Union[bytearray, bytes, str], int]])-> socket.socket
        hub = Hub.current
        if hub.get_integration(SocketIntegration) is None:
            return real_create_connection(
                address=address, timeout=timeout, source_address=source_address
            )

        with hub.start_span(
            op=OP.SOCKET_CONNECTION,
            description=_get_span_description(address[0], address[1]),
        ) as span:
            span.set_data("address", address)
            span.set_data("timeout", timeout)
            span.set_data("source_address", source_address)

            return real_create_connection(
                address=address, timeout=timeout, source_address=source_address
            )

    socket.create_connection = create_connection  # type: ignore


def _patch_getaddrinfo():
    # type: () -> None
    real_getaddrinfo = socket.getaddrinfo

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        # type: (Union[bytes, str, None], Union[str, int, None], int, int, int, int) -> List[Tuple[AddressFamily, SocketKind, int, str, Union[Tuple[str, int], Tuple[str, int, int, int]]]]
        hub = Hub.current
        if hub.get_integration(SocketIntegration) is None:
            return real_getaddrinfo(host, port, family, type, proto, flags)

        with hub.start_span(
            op=OP.SOCKET_DNS, description=_get_span_description(host, port)
        ) as span:
            span.set_data("host", host)
            span.set_data("port", port)

            return real_getaddrinfo(host, port, family, type, proto, flags)

    socket.getaddrinfo = getaddrinfo  # type: ignore

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
14 Aug 2025 9.24 PM
root / root
0755
__pycache__
--
14 Aug 2025 9.25 PM
root / root
0755
django
--
14 Aug 2025 9.24 PM
root / root
0755
grpc
--
14 Aug 2025 9.24 PM
root / root
0755
opentelemetry
--
14 Aug 2025 9.24 PM
root / root
0755
redis
--
14 Aug 2025 9.24 PM
root / root
0755
spark
--
14 Aug 2025 9.24 PM
root / root
0755
__init__.py
6.667 KB
17 Apr 2025 8.10 PM
root / root
0644
_wsgi_common.py
4.431 KB
17 Apr 2025 8.10 PM
root / root
0644
aiohttp.py
11.282 KB
17 Apr 2025 8.10 PM
root / root
0644
argv.py
0.94 KB
17 Apr 2025 8.10 PM
root / root
0644
arq.py
6.579 KB
17 Apr 2025 8.10 PM
root / root
0644
asgi.py
11.544 KB
17 Apr 2025 8.10 PM
root / root
0644
asyncio.py
2.978 KB
17 Apr 2025 8.10 PM
root / root
0644
atexit.py
1.803 KB
17 Apr 2025 8.10 PM
root / root
0644
aws_lambda.py
15.444 KB
17 Apr 2025 8.10 PM
root / root
0644
beam.py
5.556 KB
17 Apr 2025 8.10 PM
root / root
0644
boto3.py
4.436 KB
17 Apr 2025 8.10 PM
root / root
0644
bottle.py
6.319 KB
17 Apr 2025 8.10 PM
root / root
0644
celery.py
18.652 KB
17 Apr 2025 8.10 PM
root / root
0644
chalice.py
4.657 KB
17 Apr 2025 8.10 PM
root / root
0644
cloud_resource_context.py
6.597 KB
17 Apr 2025 8.10 PM
root / root
0644
dedupe.py
1.156 KB
17 Apr 2025 8.10 PM
root / root
0644
excepthook.py
2.207 KB
17 Apr 2025 8.10 PM
root / root
0644
executing.py
1.993 KB
17 Apr 2025 8.10 PM
root / root
0644
falcon.py
7.797 KB
17 Apr 2025 8.10 PM
root / root
0644
fastapi.py
4.391 KB
17 Apr 2025 8.10 PM
root / root
0644
flask.py
7.722 KB
17 Apr 2025 8.10 PM
root / root
0644
gcp.py
8.021 KB
17 Apr 2025 8.10 PM
root / root
0644
gnu_backtrace.py
2.861 KB
17 Apr 2025 8.10 PM
root / root
0644
httpx.py
4.888 KB
17 Apr 2025 8.10 PM
root / root
0644
huey.py
4.59 KB
17 Apr 2025 8.10 PM
root / root
0644
logging.py
8.966 KB
17 Apr 2025 8.10 PM
root / root
0644
loguru.py
2.979 KB
17 Apr 2025 8.10 PM
root / root
0644
modules.py
2.061 KB
17 Apr 2025 8.10 PM
root / root
0644
pure_eval.py
4.447 KB
17 Apr 2025 8.10 PM
root / root
0644
pymongo.py
5.866 KB
17 Apr 2025 8.10 PM
root / root
0644
pyramid.py
7.268 KB
17 Apr 2025 8.10 PM
root / root
0644
quart.py
7.204 KB
17 Apr 2025 8.10 PM
root / root
0644
rq.py
5.284 KB
17 Apr 2025 8.10 PM
root / root
0644
sanic.py
11.061 KB
17 Apr 2025 8.10 PM
root / root
0644
serverless.py
1.929 KB
17 Apr 2025 8.10 PM
root / root
0644
socket.py
2.876 KB
17 Apr 2025 8.10 PM
root / root
0644
sqlalchemy.py
4.145 KB
17 Apr 2025 8.10 PM
root / root
0644
starlette.py
22.667 KB
17 Apr 2025 8.10 PM
root / root
0644
starlite.py
9.853 KB
17 Apr 2025 8.10 PM
root / root
0644
stdlib.py
8.058 KB
17 Apr 2025 8.10 PM
root / root
0644
threading.py
2.868 KB
17 Apr 2025 8.10 PM
root / root
0644
tornado.py
7.17 KB
17 Apr 2025 8.10 PM
root / root
0644
trytond.py
1.704 KB
17 Apr 2025 8.10 PM
root / root
0644
wsgi.py
9.356 KB
17 Apr 2025 8.10 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF