diff --git a/server/controllers/lazy-static.ts b/server/controllers/lazy-static.ts index 0cab5dcd0..b082e41f6 100644 --- a/server/controllers/lazy-static.ts +++ b/server/controllers/lazy-static.ts @@ -7,7 +7,7 @@ import { logger } from '../helpers/logger' import { ACTOR_IMAGES_SIZE, LAZY_STATIC_PATHS, STATIC_MAX_AGE } from '../initializers/constants' import { VideosCaptionCache, VideosPreviewCache } from '../lib/files-cache' import { actorImagePathUnsafeCache, downloadActorImageFromWorker } from '../lib/local-actor' -import { asyncMiddleware } from '../middlewares' +import { asyncMiddleware, handleStaticError } from '../middlewares' import { ActorImageModel } from '../models/actor/actor-image' const lazyStaticRouter = express.Router() @@ -16,27 +16,32 @@ lazyStaticRouter.use(cors()) lazyStaticRouter.use( LAZY_STATIC_PATHS.AVATARS + ':filename', - asyncMiddleware(getActorImage) + asyncMiddleware(getActorImage), + handleStaticError ) lazyStaticRouter.use( LAZY_STATIC_PATHS.BANNERS + ':filename', - asyncMiddleware(getActorImage) + asyncMiddleware(getActorImage), + handleStaticError ) lazyStaticRouter.use( LAZY_STATIC_PATHS.PREVIEWS + ':filename', - asyncMiddleware(getPreview) + asyncMiddleware(getPreview), + handleStaticError ) lazyStaticRouter.use( LAZY_STATIC_PATHS.VIDEO_CAPTIONS + ':filename', - asyncMiddleware(getVideoCaption) + asyncMiddleware(getVideoCaption), + handleStaticError ) lazyStaticRouter.use( LAZY_STATIC_PATHS.TORRENTS + ':filename', - asyncMiddleware(getTorrent) + asyncMiddleware(getTorrent), + handleStaticError ) // --------------------------------------------------------------------------- diff --git a/server/controllers/static.ts b/server/controllers/static.ts index 0b5c12b76..33c429eb1 100644 --- a/server/controllers/static.ts +++ b/server/controllers/static.ts @@ -1,6 +1,6 @@ -import { HttpStatusCode } from '@shared/models' import cors from 'cors' import express from 'express' +import { handleStaticError } from '@server/middlewares' import { CONFIG } from '../initializers/config' import { HLS_STREAMING_PLAYLIST_DIRECTORY, STATIC_MAX_AGE, STATIC_PATHS } from '../initializers/constants' @@ -41,19 +41,3 @@ staticRouter.use( export { staticRouter } - -// --------------------------------------------------------------------------- - -function handleStaticError (err: any, req: express.Request, res: express.Response, next: express.NextFunction) { - const message = err.message || '' - - if (message.includes('ENOENT')) { - return res.fail({ - status: err.status || HttpStatusCode.INTERNAL_SERVER_ERROR_500, - message: err.message, - type: err.name - }) - } - - return next(err) -} diff --git a/server/middlewares/error.ts b/server/middlewares/error.ts index 34c87a26d..96a85012a 100644 --- a/server/middlewares/error.ts +++ b/server/middlewares/error.ts @@ -40,6 +40,21 @@ function apiFailMiddleware (req: express.Request, res: express.Response, next: e if (next) next() } -export { - apiFailMiddleware +function handleStaticError (err: any, req: express.Request, res: express.Response, next: express.NextFunction) { + const message = err.message || '' + + if (message.includes('ENOENT')) { + return res.fail({ + status: err.status || HttpStatusCode.INTERNAL_SERVER_ERROR_500, + message: err.message, + type: err.name + }) + } + + return next(err) +} + +export { + apiFailMiddleware, + handleStaticError }