Buffy commited on
Commit
60e15d5
·
1 Parent(s): 6da16aa

CORS on the proxy so the Vercel frontend can call the space directly

Browse files
Files changed (1) hide show
  1. node_probe.py +14 -0
node_probe.py CHANGED
@@ -25,7 +25,20 @@ def _node_path() -> str | None:
25
  return None
26
 
27
 
 
 
 
 
 
 
 
 
28
  def register_routes(fa_app):
 
 
 
 
 
29
  @fa_app.get("/respite/v2/node/status")
30
  def _status():
31
  return JSONResponse({
@@ -80,6 +93,7 @@ def register_routes(fa_app):
80
  await upstream.aclose()
81
  await client.aclose()
82
 
 
83
  return StreamingResponse(
84
  stream_gen(), status_code=upstream.status_code, headers=resp_headers
85
  )
 
25
  return None
26
 
27
 
28
+ CORS_HEADERS = {
29
+ "Access-Control-Allow-Origin": "*",
30
+ "Access-Control-Allow-Methods": "GET, POST, OPTIONS",
31
+ "Access-Control-Allow-Headers": "Content-Type, Authorization, Accept",
32
+ "Access-Control-Max-Age": "86400",
33
+ }
34
+
35
+
36
  def register_routes(fa_app):
37
+ @fa_app.options("/respite/v2/node/proxy/{path:path}")
38
+ async def _proxy_preflight(path: str):
39
+ from starlette.responses import PlainTextResponse
40
+ return PlainTextResponse("", status_code=204, headers=CORS_HEADERS)
41
+
42
  @fa_app.get("/respite/v2/node/status")
43
  def _status():
44
  return JSONResponse({
 
93
  await upstream.aclose()
94
  await client.aclose()
95
 
96
+ resp_headers.update(CORS_HEADERS)
97
  return StreamingResponse(
98
  stream_gen(), status_code=upstream.status_code, headers=resp_headers
99
  )