Allow credentialed Gradio CORS from custom domain

#40
Files changed (1) hide show
  1. app.py +9 -0
app.py CHANGED
@@ -385,6 +385,7 @@ logger.info("All routes configured")
385
 
386
  # Mount the REST API on /api
387
  from fastapi import FastAPI, Request
 
388
  from fastapi.responses import RedirectResponse
389
  from starlette.middleware.base import BaseHTTPMiddleware
390
  from api import api_app
@@ -481,6 +482,14 @@ root_app.mount("/api", api_app)
481
 
482
  # Mount Gradio app at root path
483
  app = gr.mount_gradio_app(root_app, demo, path="/")
 
 
 
 
 
 
 
 
484
  app = StringifiedGradioJSONMiddleware(app)
485
  logger.info("REST API mounted at /api, Gradio app mounted at /")
486
 
 
385
 
386
  # Mount the REST API on /api
387
  from fastapi import FastAPI, Request
388
+ from fastapi.middleware.cors import CORSMiddleware
389
  from fastapi.responses import RedirectResponse
390
  from starlette.middleware.base import BaseHTTPMiddleware
391
  from api import api_app
 
482
 
483
  # Mount Gradio app at root path
484
  app = gr.mount_gradio_app(root_app, demo, path="/")
485
+ app = CORSMiddleware(
486
+ app,
487
+ allow_origins=["https://index.openhands.dev"],
488
+ allow_credentials=True,
489
+ allow_methods=["*"],
490
+ allow_headers=["*"],
491
+ expose_headers=["*"],
492
+ )
493
  app = StringifiedGradioJSONMiddleware(app)
494
  logger.info("REST API mounted at /api, Gradio app mounted at /")
495