@@ -34,8 +34,9 @@ async def load_settings(request: Request) -> Settings | None:
34
34
)
35
35
36
36
# For security reasons we don't ever send the api key to the client
37
+ github_token = settings .github_token or request .state .github_token
37
38
settings .llm_api_key = 'SET' if settings .llm_api_key else None
38
- settings .github_token_is_set = True if settings . github_token else False
39
+ settings .github_token_is_set = True if github_token else False
39
40
settings .github_token = None
40
41
41
42
return settings
@@ -80,8 +81,13 @@ async def store_settings(
80
81
if settings .github_token is None :
81
82
settings .github_token = existing_settings .github_token
82
83
83
- # type: ignore
84
+ response = JSONResponse (
85
+ status_code = status .HTTP_200_OK ,
86
+ content = {'message' : 'Settings stored' },
87
+ )
88
+
84
89
if settings .unset_github_token :
90
+ response .delete_cookie ('github_token' )
85
91
settings .github_token = None
86
92
settings .unset_github_token = None
87
93
@@ -92,11 +98,7 @@ async def store_settings(
92
98
)
93
99
94
100
await settings_store .store (settings )
95
-
96
- return JSONResponse (
97
- status_code = status .HTTP_200_OK ,
98
- content = {'message' : 'Settings stored' },
99
- )
101
+ return response
100
102
except Exception as e :
101
103
logger .warning (f'Invalid token: { e } ' )
102
104
return JSONResponse (
0 commit comments