Spaces:
Paused
Paused
| import uvicorn | |
| from fastapi import FastAPI, Request | |
| from fastapi.responses import JSONResponse | |
| from fastapi.middleware.cors import CORSMiddleware | |
| from routers.v1.search_router import router as search_router | |
| from routers.v1.trending_router import router as trending_router | |
| from routers.v1.catergory_router import router as category_router | |
| from routers.v1.recent_router import router as recent_router | |
| from routers.v1.combo_routers import router as combo_router | |
| from routers.v1.sites_list_router import router as site_list_router | |
| from routers.home_router import router as home_router | |
| from routers.v1.search_url_router import router as search_url_router | |
| from helper.uptime import getUptime | |
| import nest_asyncio | |
| from mangum import Mangum | |
| from math import ceil | |
| import time | |
| startTime = time.time() | |
| app = FastAPI( | |
| title="Torrent-Api-Py", | |
| version="1.0.1", | |
| description=f"Unofficial Torrent-Api", | |
| docs_url="/docs", | |
| contact={ | |
| "name": "Neeraj Kumar", | |
| "url": "https://github.com/ryuk-me", | |
| "email": "neerajkr1210@gmail.com", | |
| }, | |
| ) | |
| origins = ["*"] | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=origins, | |
| allow_credentials=True, | |
| allow_methods=["*"], | |
| allow_headers=["*"], | |
| ) | |
| async def health_route(req: Request): | |
| """ | |
| Health Route : Returns App details. | |
| """ | |
| return JSONResponse( | |
| { | |
| "app": "Torrent-Api-Py", | |
| "version": "v" + "1.0.1", | |
| "ip": req.client.host, | |
| "uptime": ceil(getUptime(startTime)), | |
| } | |
| ) | |
| app.include_router(search_router, prefix="/api/v1/search") | |
| app.include_router(trending_router, prefix="/api/v1/trending") | |
| app.include_router(category_router, prefix="/api/v1/category") | |
| app.include_router(recent_router, prefix="/api/v1/recent") | |
| app.include_router(combo_router, prefix="/api/v1/all") | |
| app.include_router(site_list_router, prefix="/api/v1/sites") | |
| app.include_router(search_url_router, prefix="/api/v1/search_url") | |
| app.include_router(home_router, prefix="") | |
| handler = Mangum(app) | |
| if __name__ == "__main__": | |
| nest_asyncio.apply() | |
| uvicorn.run(app, host="0.0.0.0", port=7860) | |