You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
main
${ noResults }
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import { logger } from '@server/helpers/logger.js'
|
|||
import express from 'express'
|
|||
import { body, header } from 'express-validator'
|
|||
import { areValidationErrors } from './shared/utils.js'
|
|||
import { cleanUpReqFiles } from '@server/helpers/express-utils.js'
|
|||
|
|||
export const resumableInitValidator = [
|
|||
body('filename')
|
|||
.exists(),
|
|||
|
|||
header('x-upload-content-length')
|
|||
.isNumeric()
|
|||
.exists()
|
|||
.withMessage('Should specify the file length'),
|
|||
header('x-upload-content-type')
|
|||
.isString()
|
|||
.exists()
|
|||
.withMessage('Should specify the file mimetype'),
|
|||
|
|||
(req: express.Request, res: express.Response, next: express.NextFunction) => {
|
|||
logger.debug('Checking resumableInitValidator parameters and headers', {
|
|||
parameters: req.body,
|
|||
headers: req.headers
|
|||
})
|
|||
|
|||
if (areValidationErrors(req, res, { omitLog: true })) return cleanUpReqFiles(req)
|
|||
|
|||
res.locals.uploadVideoFileResumableMetadata = {
|
|||
mimetype: req.headers['x-upload-content-type'] as string,
|
|||
size: +req.headers['x-upload-content-length'],
|
|||
originalname: req.body.filename
|
|||
}
|
|||
|
|||
return next()
|
|||
}
|
|||
]
|