From cbdbb6719a2208838cb64afb1f9350bd5e69c1ce Mon Sep 17 00:00:00 2001 From: Florent Date: Thu, 4 Aug 2022 11:44:33 +0200 Subject: [PATCH] Fetch error should return status 400 (#754) --- server/controllers/api/videos/import.ts | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/server/controllers/api/videos/import.ts b/server/controllers/api/videos/import.ts index ad3183575d86..def8d90a4794 100644 --- a/server/controllers/api/videos/import.ts +++ b/server/controllers/api/videos/import.ts @@ -149,6 +149,17 @@ async function handleTorrentImport (req: express.Request, res: express.Response, return res.json(videoImport.toFormattedJSON()).end() } +function statusFromYtDlImportError (err: YoutubeDlImportError): number { + switch (err.code) { + case YoutubeDlImportError.CODE.NOT_ONLY_UNICAST_URL: + return HttpStatusCode.FORBIDDEN_403 + case YoutubeDlImportError.CODE.FETCH_ERROR: + return HttpStatusCode.BAD_REQUEST_400 + default: + return HttpStatusCode.INTERNAL_SERVER_ERROR_500 + } +} + async function handleYoutubeDlImport (req: express.Request, res: express.Response) { const body: VideoImportCreate = req.body const targetUrl = body.targetUrl @@ -170,9 +181,7 @@ async function handleYoutubeDlImport (req: express.Request, res: express.Respons logger.error('An error occurred while importing the video %s. ', targetUrl, { err }) return res.fail({ message: err.message, - status: err.code === YoutubeDlImportError.CODE.NOT_ONLY_UNICAST_URL - ? HttpStatusCode.FORBIDDEN_403 - : HttpStatusCode.INTERNAL_SERVER_ERROR_500, + status: statusFromYtDlImportError(err), data: { targetUrl }