Coverage for requests_tracker/settings.py: 100%
15 statements
« prev ^ index » next coverage.py v7.4.4, created at 2024-04-18 22:19 +0000
« prev ^ index » next coverage.py v7.4.4, created at 2024-04-18 22:19 +0000
1from functools import lru_cache
2from typing import Any, Dict
4from django.conf import settings
5from django.http import HttpRequest
7from requests_tracker import APP_NAME
9CONFIG_DEFAULTS = {
10 "ENABLE_STACKTRACES": True,
11 "ENABLE_STACKTRACES_LOCALS": False,
12 "HIDE_IN_STACKTRACES": (
13 "socketserver",
14 "threading",
15 "wsgiref",
16 APP_NAME,
17 "django.db",
18 "django.core.handlers",
19 "django.core.servers",
20 "django.utils.decorators",
21 "django.utils.deprecation",
22 "django.utils.functional",
23 ),
24 "SQL_WARNING_THRESHOLD": 500, # milliseconds
25 "REQUESTS_TRACKER_CONFIG": True,
26 "TRACK_SQL": True,
27 "IGNORE_SQL_PATTERNS": (),
28 "IGNORE_PATHS_PATTERNS": (),
29}
32@lru_cache()
33def get_config() -> Dict[str, Any]:
34 user_config = getattr(settings, "REQUESTS_TRACKER_CONFIG", {})
35 config = CONFIG_DEFAULTS.copy()
36 config.update(user_config)
37 return config
40def debug_application(request: HttpRequest) -> bool:
41 requests_tracker_app = get_config()["REQUESTS_TRACKER_CONFIG"]
42 return (
43 requests_tracker_app
44 and settings.DEBUG
45 and request.META.get("REMOTE_ADDR") in settings.INTERNAL_IPS
46 )