From 4b11e925d9e114ccee5a8b311d277b521d9e6c15 Mon Sep 17 00:00:00 2001 From: Mert <101130780+mertalev@users.noreply.github.com> Date: Sat, 9 Sep 2023 05:03:59 -0400 Subject: [PATCH] fix(server): handle failed ML responses (#4036) * handle ml error responses * more explicit error message * formatting * better formatting --- .../src/infra/repositories/machine-learning.repository.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/server/src/infra/repositories/machine-learning.repository.ts b/server/src/infra/repositories/machine-learning.repository.ts index 1ed887082a..457ab54b51 100644 --- a/server/src/infra/repositories/machine-learning.repository.ts +++ b/server/src/infra/repositories/machine-learning.repository.ts @@ -18,6 +18,12 @@ export class MachineLearningRepository implements IMachineLearningRepository { private async post(url: string, input: TextModelInput | VisionModelInput, config: ModelConfig): Promise { const formData = await this.getFormData(input, config); const res = await fetch(`${url}/predict`, { method: 'POST', body: formData }); + if (res.status >= 400) { + throw new Error( + `Request ${config.modelType ? `for ${config.modelType.replace('-', ' ')} ` : ''}` + + `failed with status ${res.status}: ${res.statusText}`, + ); + } return res.json(); }