]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Simpler ID match
authorChocobozzz <me@florianbigard.com>
Mon, 11 Oct 2021 12:57:53 +0000 (14:57 +0200)
committerChocobozzz <me@florianbigard.com>
Mon, 11 Oct 2021 12:57:53 +0000 (14:57 +0200)
server/middlewares/validators/oembed.ts

index cbd645a71939e8bafb4dfc4d1790bcac1e09dc36..32dd052712578ae7c847a08b9e5308308bcc03be 100644 (file)
@@ -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.' })
     }