from fastapi import Request, HTTPException async def validate_json(request: Request, call_next): # Only validate JSON for requests with a body if request.method in ("POST", "PUT", "PATCH"): try: # attempt to parse json body await request.json() except Exception: raise HTTPException(status_code=400, detail="Invalid JSON payload") response = await call_next(request) return response