fix(server): return {message} body for request validation errors
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
import os
|
||||
|
||||
from fastapi import Depends, FastAPI, Header, HTTPException, Query
|
||||
from fastapi.exceptions import RequestValidationError
|
||||
from fastapi.responses import JSONResponse
|
||||
|
||||
from . import actions, jobs, mf
|
||||
@@ -23,6 +24,11 @@ async def _http_exc(_req, exc: HTTPException):
|
||||
return JSONResponse(status_code=exc.status_code, content={"message": exc.detail})
|
||||
|
||||
|
||||
@app.exception_handler(RequestValidationError)
|
||||
async def _validation_exc(_req, exc: RequestValidationError):
|
||||
return JSONResponse(status_code=422, content={"message": "Invalid or missing request parameters."})
|
||||
|
||||
|
||||
@app.get("/health")
|
||||
def health():
|
||||
return {"status": "ok"}
|
||||
|
||||
@@ -45,6 +45,7 @@ def test_fetch_no_hits_returns_404(client, auth, monkeypatch):
|
||||
def test_fetch_missing_q_returns_422(client, auth):
|
||||
r = client.post("/fetch", headers=auth)
|
||||
assert r.status_code == 422
|
||||
assert "message" in r.json()
|
||||
|
||||
|
||||
def test_job_lifecycle_done(client, auth, monkeypatch):
|
||||
|
||||
Reference in New Issue
Block a user