Spaces:
Running
Running
| from fastapi import FastAPI | |
| from titiler.core.factory import TilerFactory | |
| from titiler.stac.factory import STACTilerFactory | |
| from titiler.mosaic.factory import MosaicTilerFactory | |
| from titiler.mosaic.routes import MosaicRouter | |
| from titiler.core.dependencies import DefaultDependency | |
| from starlette.middleware.cors import CORSMiddleware | |
| app = FastAPI() | |
| # Enable CORS | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=["*"], # Use specific domains in production | |
| allow_credentials=True, | |
| allow_methods=["*"], | |
| allow_headers=["*"], | |
| ) | |
| # ---- COG Tiler ---- | |
| cog = TilerFactory() | |
| app.include_router(cog.router, tags=["Cloud Optimized GeoTIFF"]) | |
| # ---- STAC Tiler ---- | |
| stac = STACTilerFactory() | |
| app.include_router(stac.router, prefix="/stac", tags=["STAC Items"]) | |
| # ---- MosaicJSON Tiler ---- | |
| mosaic = MosaicTilerFactory() | |
| app.include_router(mosaic.router, prefix="/mosaic", tags=["MosaicJSON"]) | |
| # (Optional) Add a root endpoint | |
| def read_index(): | |
| return {"message": "Welcome to TiTiler with COG, STAC, and Mosaic support"} | |