techfreakworm commited on
Commit
8d8e3d7
·
unverified ·
1 Parent(s): 79f58fb

chore(api,web): include validation message and detail in /api/generate error response

Browse files
Files changed (2) hide show
  1. server/main.py +17 -1
  2. web/src/lib/api.ts +3 -1
server/main.py CHANGED
@@ -123,9 +123,25 @@ def build_app() -> FastAPI:
123
  try:
124
  validate_reference_clip(data)
125
  except AudioValidationError as exc:
 
 
 
 
 
 
 
 
 
 
126
  return JSONResponse(
127
  status_code=400,
128
- content={"error": {"code": "reference_invalid", "message": str(exc)}},
 
 
 
 
 
 
129
  )
130
  tmp = tempfile.NamedTemporaryFile(delete=False, suffix=".wav")
131
  tmp.write(data)
 
123
  try:
124
  validate_reference_clip(data)
125
  except AudioValidationError as exc:
126
+ detail = {
127
+ "size_bytes": len(data),
128
+ "first_4": data[:4].decode("latin-1", errors="replace"),
129
+ "filename": reference_wav.filename,
130
+ "content_type": reference_wav.content_type,
131
+ }
132
+ print(
133
+ f"[reference_invalid] {exc} | {detail}",
134
+ flush=True,
135
+ )
136
  return JSONResponse(
137
  status_code=400,
138
+ content={
139
+ "error": {
140
+ "code": "reference_invalid",
141
+ "message": str(exc),
142
+ "detail": detail,
143
+ }
144
+ },
145
  )
146
  tmp = tempfile.NamedTemporaryFile(delete=False, suffix=".wav")
147
  tmp.write(data)
web/src/lib/api.ts CHANGED
@@ -66,7 +66,9 @@ export async function generate(input: GenerateInput): Promise<Blob> {
66
  const r = await fetch("/api/generate", { method: "POST", body: fd });
67
  if (!r.ok) {
68
  const err = await r.json().catch(() => ({}));
69
- throw new Error(err?.error?.code ?? `generate: ${r.status}`);
 
 
70
  }
71
  return r.blob();
72
  }
 
66
  const r = await fetch("/api/generate", { method: "POST", body: fd });
67
  if (!r.ok) {
68
  const err = await r.json().catch(() => ({}));
69
+ const code = err?.error?.code ?? `generate: ${r.status}`;
70
+ const msg = err?.error?.message;
71
+ throw new Error(msg ? `${code}: ${msg}` : code);
72
  }
73
  return r.blob();
74
  }