INNER CODE UNIT · Python
validation_exception_handler
mfmezger/conversational-agent-langchain · src/agent/api.py:103
async def validation_exception_handler(request: Request, exc: RequestValidationError) -> Response:
"""Use OpenAI validation envelopes only below the compatibility prefix."""
if not _is_openai_path(request.url.path):
return await request_validation_exception_handler(request, exc)
error = exc.errors()[0]
location = [str(part) for part in error["loc"] if part != "body"]
param = ".".join(location) or None
unsupported = error["type"] == "extra_forbidden"
message = f"Unsupported field: `{param}`." if unsupported else error["msg"]
return _openai_error_response(
status_code=400,
message=message,
error_type="invalid_request_error",
param=param,
code="unsupported_parameter" if unsupported else "invalid_value",
)