Skip to content

Commit 1ab6be4

Browse files
committed
feat(django): automatically allow forest_context_url header in cors settings
1 parent 34f1205 commit 1ab6be4

File tree

1 file changed

+12
-0
lines changed
  • src/django_agent/forestadmin/django_agent

1 file changed

+12
-0
lines changed

src/django_agent/forestadmin/django_agent/apps.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import threading
55
from typing import Callable, Optional, Union
66

7+
from corsheaders import defaults as default_cors_settings
78
from django.apps import AppConfig, apps
89
from django.conf import settings
910
from forestadmin.agent_toolkit.forest_logger import ForestLogger
@@ -77,6 +78,7 @@ def get_agent(cls) -> DjangoAgent:
7778
def ready(self):
7879
# we need to wait for other apps to be ready, for this forest app must be ready
7980
# that's why we need another thread waiting for every app to be ready
81+
self.setup_cors_settings()
8082
t = threading.Thread(name="forest.wait_and_launch_agent", target=self._wait_for_all_apps_ready_and_launch_agent)
8183
t.start()
8284

@@ -99,3 +101,13 @@ def _wait_for_all_apps_ready_and_launch_agent(self):
99101
)
100102

101103
DjangoAgentApp._DJANGO_AGENT = init_app_agent()
104+
105+
def setup_cors_settings(self):
106+
# headers
107+
if getattr(settings, "CORS_ALLOW_HEADERS", None):
108+
allowed_headers = settings.CORS_ALLOW_HEADERS
109+
else:
110+
allowed_headers = default_cors_settings.default_headers
111+
112+
if "Forest-Context-Url" not in allowed_headers:
113+
settings.CORS_ALLOW_HEADERS = (*allowed_headers, "Forest-Context-Url")

0 commit comments

Comments
 (0)