X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=server%2Fhelpers%2Fexpress-utils.ts;h=780fd6345e850df4735f70d066c3f65616e8d926;hb=743dab5517d4501f6b35cfc795de6c8b6f41ebb3;hp=010c6961a063573409c5e0829373ee8b9ea867ad;hpb=20213fbd2a366dffc35aa7dddad71323893f8d62;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/helpers/express-utils.ts b/server/helpers/express-utils.ts index 010c6961a..780fd6345 100644 --- a/server/helpers/express-utils.ts +++ b/server/helpers/express-utils.ts @@ -1,9 +1,9 @@ -import * as express from 'express' -import * as multer from 'multer' -import { extname } from 'path' -import { HttpStatusCode } from '../../shared/core-utils/miscs/http-error-codes' +import express, { RequestHandler } from 'express' +import multer, { diskStorage } from 'multer' +import { HttpStatusCode } from '../../shared/models/http/http-error-codes' import { CONFIG } from '../initializers/config' import { REMOTE_SCHEME } from '../initializers/constants' +import { getLowercaseExtension } from '@shared/core-utils' import { isArray } from './custom-validators/misc' import { logger } from './logger' import { deleteFileAndCatch, generateRandomString } from './utils' @@ -30,9 +30,7 @@ function buildNSFWFilter (res?: express.Response, paramNSFW?: string) { return null } -function cleanUpReqFiles ( - req: { files: { [fieldname: string]: Express.Multer.File[] } | Express.Multer.File[] } -) { +function cleanUpReqFiles (req: express.Request) { const filesObject = req.files if (!filesObject) return @@ -61,7 +59,7 @@ function getHostWithPort (host: string) { return host } -function badRequest (req: express.Request, res: express.Response) { +function badRequest (_req: express.Request, res: express.Response) { return res.type('json') .status(HttpStatusCode.BAD_REQUEST_400) .end() @@ -71,15 +69,15 @@ function createReqFiles ( fieldNames: string[], mimeTypes: { [id: string]: string | string[] }, destinations: { [fieldName: string]: string } -) { - const storage = multer.diskStorage({ +): RequestHandler { + const storage = diskStorage({ destination: (req, file, cb) => { cb(null, destinations[file.fieldname]) }, filename: async (req, file, cb) => { let extension: string - const fileExtension = extname(file.originalname) + const fileExtension = getLowercaseExtension(file.originalname) const extensionFromMimetype = getExtFromMimetype(mimeTypes, file.mimetype) // Take the file extension if we don't understand the mime type