from datetime import datetime, time, timedelta from uuid import UUID from fastapi import Body, FastAPI,Form, File, UploadFile from fastapi.responses import HTMLResponse app = FastAPI() @app.put("/items/{item_id}") async def read_items( item_id: UUID, start_datetime: datetime | None = Body(default=None), end_datetime: datetime | None = Body(default=None), repeat_at: time | None = Body(default=None), process_after: timedelta | None = Body(default=None), ): start_process = start_datetime + process_after duration = end_datetime - start_process return { "item_id": item_id, "start_datetime": start_datetime, "end_datetime": end_datetime, "repeat_at": repeat_at, "process_after": process_after, "start_process": start_process, "duration": duration, } @app.post("/files/") async def create_files(files: list[bytes] = File()): return {"file_sizes": [len(file) for file in files]} @app.post("/uploadfiles/") async def create_upload_files(files: list[UploadFile]): return {"filenames": [file.filename for file in files]} @app.get("/") async def main(): content = """
""" return HTMLResponse(content=content)