X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fhelpers%2Fexpress-utils.ts;h=c299b70f139ef590432574fe57e524c1c55715e9;hb=fbd67e7f386504e50f2504cb6386700a58906f16;hp=10a860787cf44bf8ded1b7c8d49d63fa61d66caa;hpb=3866ea02d4a5c8e4c69a5d8633a883e3733414b9;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/helpers/express-utils.ts b/server/helpers/express-utils.ts index 10a860787..c299b70f1 100644 --- a/server/helpers/express-utils.ts +++ b/server/helpers/express-utils.ts @@ -1,14 +1,13 @@ 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 { HttpStatusCode } from '../../shared/models/http/http-error-codes' import { CONFIG } from '../initializers/config' import { REMOTE_SCHEME } from '../initializers/constants' +import { getLowercaseExtension } from './core-utils' import { isArray } from './custom-validators/misc' import { logger } from './logger' import { deleteFileAndCatch, generateRandomString } from './utils' import { getExtFromMimetype } from './video' -import { ProblemDocument, ProblemDocumentExtension } from 'http-problem-details' function buildNSFWFilter (res?: express.Response, paramNSFW?: string) { if (paramNSFW === 'true') return true @@ -31,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 @@ -80,7 +77,7 @@ function createReqFiles ( 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 @@ -126,34 +123,6 @@ function getCountVideos (req: express.Request) { return req.query.skipCount !== true } -// helpers added in server.ts and used in subsequent controllers used -const apiResponseHelpers = (req, res: express.Response, next = null) => { - res.fail = (options) => { - const { data, status = HttpStatusCode.BAD_REQUEST_400, message, title, type, docs = res.docs, instance } = options - - const extension = new ProblemDocumentExtension({ - ...data, - docs, - // fields for <= 3.2 compatibility, deprecated - error: message, - code: type - }) - - res.status(status) - res.setHeader('Content-Type', 'application/problem+json') - res.json(new ProblemDocument({ - status, - title, - instance, - // fields intended to replace 'error' and 'code' respectively - detail: message, - type: type && 'https://docs.joinpeertube.org/api-rest-reference.html#section/Errors/' + type - }, extension)) - } - - if (next) next() -} - // --------------------------------------------------------------------------- export { @@ -163,6 +132,5 @@ export { badRequest, createReqFiles, cleanUpReqFiles, - getCountVideos, - apiResponseHelpers + getCountVideos }