FastAPI-fn-calling / app.py.bak
OjciecTadeusz's picture
Rename app.py to app.py.bak
b488e22 verified
from fastapi import FastAPI, Header, HTTPException
import requests
import os
app = FastAPI()
AUTH_TOKEN = os.getenv("AUTH_TOKEN") # poprawiona zmienna
URL = os.getenv("URL") # URL do datasetu JSON
def load_dataset():
if not URL:
raise HTTPException(status_code=500, detail="Dataset URL not set")
r = requests.get(URL)
if r.status_code != 200:
raise HTTPException(status_code=500, detail="Dataset fetch failed")
return r.json()
async def auth(authorization: str | None = Header(default=None)):
if AUTH_TOKEN:
token = authorization.replace("Bearer ", "") if authorization else None
if token != AUTH_TOKEN:
raise HTTPException(status_code=401, detail="Unauthorized")
@app.get("/health")
async def health():
return {"status": "ok"}
@app.get("/rows")
async def get_rows(limit: int = 3, authorization: str | None = Header(default=None)):
await auth(authorization)
data = load_dataset()
return data[:limit]
@app.get("/row")
async def get_row(id: str, authorization: str | None = Header(default=None)):
await auth(authorization)
data = load_dataset()
for r in data:
if r.get("id") == id:
return r
raise HTTPException(status_code=404, detail="Not found")