From ddca92e422bfa750bbf6659c46918d4216f45f7f Mon Sep 17 00:00:00 2001 From: Carl Kittelberger Date: Sun, 3 Jan 2021 18:42:37 +0100 Subject: [PATCH] Allow MP4 links to resolve properly. --- frontend/pages/[id]/[vslug].tsx | 4 ++-- frontend/util/sanitizeFileName.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/pages/[id]/[vslug].tsx b/frontend/pages/[id]/[vslug].tsx index 1032315..d23849b 100644 --- a/frontend/pages/[id]/[vslug].tsx +++ b/frontend/pages/[id]/[vslug].tsx @@ -11,9 +11,9 @@ import { import { useIntl } from 'react-intl'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { GetServerSideProps, InferGetServerSidePropsType } from 'next'; -import { IncomingMessage } from 'http'; import { VideoEntry } from 'util/datatypes/VideoList'; import DownloadButton from 'components/DownloadButton'; +import { basename } from 'path'; import { getHLSMasterURL } from '../../util'; import VideoPlayer from '../../components/VideoPlayer'; @@ -83,7 +83,7 @@ export const getServerSideProps: GetServerSideProps = async (context) => { } // Check if vslug is actually point to a file name - const sanitizedFileName = sanitizeFileName(vslug); + const sanitizedFileName = `${sanitizeFileName(basename(vslug, '.mp4'))}.mp4`; const realVIndex = videos.findIndex( (video: VideoEntry) => video.fileName === sanitizedFileName, ); diff --git a/frontend/util/sanitizeFileName.ts b/frontend/util/sanitizeFileName.ts index b1e6838..6fd0edc 100644 --- a/frontend/util/sanitizeFileName.ts +++ b/frontend/util/sanitizeFileName.ts @@ -1,3 +1,3 @@ const sanitizeFileName = (name: string) => name - .replace(/[<>:"/\\|?*%() ]/g, '_'); + .replace(/[.<>:"/\\|?*%() ]/g, '_'); export default sanitizeFileName;