This file is indexed.

/usr/lib/python2.7/dist-packages/aws_xray_sdk/ext/django/conf.py is in python-aws-xray-sdk 0.95-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import os

from django.conf import settings as django_settings
from django.test.signals import setting_changed

DEFAULTS = {
    'AWS_XRAY_DAEMON_ADDRESS': '127.0.0.1:2000',
    'AUTO_INSTRUMENT': True,
    'AWS_XRAY_CONTEXT_MISSING': 'RUNTIME_ERROR',
    'PLUGINS': (),
    'SAMPLING': True,
    'SAMPLING_RULES': None,
    'AWS_XRAY_TRACING_NAME': None,
    'DYNAMIC_NAMING': None,
}

XRAY_NAMESPACE = 'XRAY_RECORDER'

SUPPORTED_ENV_VARS = ('AWS_XRAY_DAEMON_ADDRESS',
                      'AWS_XRAY_CONTEXT_MISSING',
                      'AWS_XRAY_TRACING_NAME',
                      )


class XRaySettings(object):
    """
    A object of Django settings to easily modify certain fields.
    The precedence for configurations at different places is as follows:
    environment variables > user settings in settings.py > default settings
    """
    def __init__(self, user_settings=None):

        self.defaults = DEFAULTS

        if user_settings:
            self._user_settings = user_settings

    @property
    def user_settings(self):

        if not hasattr(self, '_user_settings'):
            self._user_settings = getattr(django_settings, XRAY_NAMESPACE, {})

        return self._user_settings

    def __getattr__(self, attr):

        if attr not in self.defaults:
            raise AttributeError('Invalid setting: %s' % attr)

        if self.user_settings.get(attr, None) is not None:
            if attr in SUPPORTED_ENV_VARS:
                return os.getenv(attr, self.user_settings[attr])
            else:
                return self.user_settings[attr]
        elif attr in SUPPORTED_ENV_VARS:
            return os.getenv(attr, self.defaults[attr])
        else:
            return self.defaults[attr]


settings = XRaySettings()


def reload_settings(*args, **kwargs):
    """
    Reload X-Ray user settings upon Django server hot restart
    """
    global settings
    setting, value = kwargs['setting'], kwargs['value']
    if setting == XRAY_NAMESPACE:
        settings = XRaySettings(value)


setting_changed.connect(reload_settings)