Spaces:
Running
on
T4
Running
on
T4
| """ main api file """ | |
| from fastapi.responses import HTMLResponse | |
| from fastapi.staticfiles import StaticFiles | |
| from fastapi.templating import Jinja2Templates | |
| from fastapi import FastAPI, Request | |
| from fastapi.middleware.cors import CORSMiddleware | |
| from app.routers import routes | |
| """ initialize app with openapi configurations """ | |
| app = FastAPI( | |
| title="Mother Tongue Voice Matcher", | |
| version="0.0.5", | |
| servers=[ | |
| { | |
| "url": "http://127.0.0.1:8000/api/v1", | |
| "description": "Local Server", | |
| }, | |
| { | |
| "url": "https://motherstongue-voice-matcher-api.hf.space/api/v1", | |
| "description": "Huggingface Server", | |
| } | |
| ], | |
| root_path="/api/v1", | |
| root_path_in_servers=False, | |
| ) | |
| # cors policy | |
| origins = [ | |
| "http://localhost", | |
| "http://localhost:8080", | |
| "http://localhost:3000", | |
| "http://localhost:5173", | |
| "http://127.0.0.1", | |
| "http://127.0.0.1:8080", | |
| "http://127.0.0.1:3000", | |
| "http://127.0.0.1:5173", | |
| "https://motherstongue-voice-matcher-api.hf.space", | |
| ] | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=origins, | |
| allow_credentials=True, | |
| allow_methods=["*"], | |
| allow_headers=["*"], | |
| ) | |
| # mount the static folder | |
| app.mount("/static", StaticFiles(directory="app/static"), name="static") | |
| # mount the templets folder | |
| templates = Jinja2Templates(directory="app/templates") | |
| async def root(request: Request): | |
| """set the root to show a html welcome page""" | |
| return templates.TemplateResponse(request=request, name="index.html") | |
| # include all the other api endpoints | |
| app.include_router(routes.router) | |