From e5d9877f0640e72653f6d88c743ee331dba6dc5b Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 11 Oct 2021 14:57:53 +0200 Subject: [PATCH] Simpler ID match --- server/middlewares/validators/oembed.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/server/middlewares/validators/oembed.ts b/server/middlewares/validators/oembed.ts index cbd645a7193..32dd0527125 100644 --- a/server/middlewares/validators/oembed.ts +++ b/server/middlewares/validators/oembed.ts @@ -28,7 +28,6 @@ function buildUrls (paths: string[]) { const startPlaylistURLs = buildUrls(playlistPaths) const startVideoURLs = buildUrls(videoPaths) -const watchRegex = /\/([^/]+)$/ const isURLOptions = { require_host: true, require_tld: true @@ -81,9 +80,9 @@ const oembedValidator = [ const startIsOk = isVideo || isPlaylist - const matches = watchRegex.exec(urlPath) + const parts = urlPath.split('/') - if (startIsOk === false || matches === null) { + if (startIsOk === false || parts.length === 0) { return res.fail({ status: HttpStatusCode.BAD_REQUEST_400, message: 'Invalid url.', @@ -93,7 +92,7 @@ const oembedValidator = [ }) } - const elementId = toCompleteUUID(matches[1]) + const elementId = toCompleteUUID(parts.pop()) if (isIdOrUUIDValid(elementId) === false) { return res.fail({ message: 'Invalid video or playlist id.' }) }