jomasego commited on
Commit
cc456c6
·
1 Parent(s): 7bd25a7

Feat: Add CORSMiddleware to FastAPI app for HF Space integration

Browse files
Files changed (1) hide show
  1. modal_whisper_app.py +19 -0
modal_whisper_app.py CHANGED
@@ -10,6 +10,7 @@ import gradio.routes
10
  from typing import Dict, List, Any, Optional # For type hinting results and Optional in Pydantic
11
  from fastapi.responses import JSONResponse # For FastAPI endpoint
12
  from fastapi import File, Body, UploadFile, Query # For FastAPI file uploads, request body parts, and query parameters
 
13
  from pydantic import BaseModel # For FastAPI request body validation
14
  import re # For parsing search results
15
  import asyncio # For concurrent video processing
@@ -48,6 +49,24 @@ app = modal.App(name="video-analysis-gradio-pipeline") # New app name, using App
48
 
49
  fastapi_app = FastAPI() # Initialize FastAPI app
50
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
  # --- Modal Distributed Dictionary for Caching ---
52
  video_analysis_cache = modal.Dict.from_name("video_analysis_cache", create_if_missing=True)
53
 
 
10
  from typing import Dict, List, Any, Optional # For type hinting results and Optional in Pydantic
11
  from fastapi.responses import JSONResponse # For FastAPI endpoint
12
  from fastapi import File, Body, UploadFile, Query # For FastAPI file uploads, request body parts, and query parameters
13
+ from fastapi.middleware.cors import CORSMiddleware
14
  from pydantic import BaseModel # For FastAPI request body validation
15
  import re # For parsing search results
16
  import asyncio # For concurrent video processing
 
49
 
50
  fastapi_app = FastAPI() # Initialize FastAPI app
51
 
52
+ # Define allowed origins for CORS
53
+ origins = [
54
+ "https://agents-mcp-hackathon-video-mcp.hf.space", # Your Hugging Face Space
55
+ "http://localhost",
56
+ "http://localhost:7860", # Default Gradio local port
57
+ "http://127.0.0.1:7860", # Default Gradio local port
58
+ # You can add other origins if needed, e.g., your Modal app's direct URL if you access it directly
59
+ "https://jomasego--video-analysis-gradio-pipeline-main-asgi.modal.run"
60
+ ]
61
+
62
+ fastapi_app.add_middleware(
63
+ CORSMiddleware,
64
+ allow_origins=origins,
65
+ allow_credentials=True,
66
+ allow_methods=["*"], # Allows all methods
67
+ allow_headers=["*"], # Allows all headers
68
+ )
69
+
70
  # --- Modal Distributed Dictionary for Caching ---
71
  video_analysis_cache = modal.Dict.from_name("video_analysis_cache", create_if_missing=True)
72