Skip to content

Commit 50a5fe1

Browse files
committed
some rudimentary error handling for the user to read (essentially we return validation errors on wrong input, other exceptions are not forwarded to the user).
1 parent f19c75a commit 50a5fe1

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

  • customizer/src/obs_case_customizer

customizer/src/obs_case_customizer/app.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@
1414
from typing import Optional
1515

1616
import pkg_resources
17-
from fastapi import FastAPI, Form, File, Request, Depends, BackgroundTasks
17+
from fastapi import FastAPI, Form, File, Request, Depends, BackgroundTasks, HTTPException
1818
from fastapi.responses import HTMLResponse, FileResponse
1919
from fastapi.responses import RedirectResponse, JSONResponse
2020
from fastapi.templating import Jinja2Templates
2121
from fastapi.websockets import WebSocket
22-
from pydantic import BaseModel, Field
22+
from pydantic import BaseModel, Field, ValidationError
2323
from websockets.exceptions import ConnectionClosed
2424

2525
THREADS = int(os.environ.get('CUSTOMIZER_THREADS', 10))
@@ -244,7 +244,10 @@ def as_form(cls: typing.Type[BaseModel]):
244244
]
245245

246246
async def _as_form(**data):
247-
return cls(**data)
247+
try:
248+
return cls(**data)
249+
except ValidationError as err:
250+
raise HTTPException(400, str(err))
248251

249252
sig = inspect.signature(_as_form)
250253
sig = sig.replace(parameters=new_params)

0 commit comments

Comments
 (0)