aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/controllers/object-storage-proxy.ts
diff options
context:
space:
mode:
Diffstat (limited to 'server/controllers/object-storage-proxy.ts')
-rw-r--r--server/controllers/object-storage-proxy.ts8
1 files changed, 8 insertions, 0 deletions
diff --git a/server/controllers/object-storage-proxy.ts b/server/controllers/object-storage-proxy.ts
index 6fedcfd8f..3ce279671 100644
--- a/server/controllers/object-storage-proxy.ts
+++ b/server/controllers/object-storage-proxy.ts
@@ -1,11 +1,13 @@
1import cors from 'cors' 1import cors from 'cors'
2import express from 'express' 2import express from 'express'
3import { logger } from '@server/helpers/logger'
3import { OBJECT_STORAGE_PROXY_PATHS } from '@server/initializers/constants' 4import { OBJECT_STORAGE_PROXY_PATHS } from '@server/initializers/constants'
4import { getHLSFileReadStream, getWebTorrentFileReadStream } from '@server/lib/object-storage' 5import { getHLSFileReadStream, getWebTorrentFileReadStream } from '@server/lib/object-storage'
5import { 6import {
6 asyncMiddleware, 7 asyncMiddleware,
7 ensureCanAccessPrivateVideoHLSFiles, 8 ensureCanAccessPrivateVideoHLSFiles,
8 ensureCanAccessVideoPrivateWebTorrentFiles, 9 ensureCanAccessVideoPrivateWebTorrentFiles,
10 ensurePrivateObjectStorageProxyIsEnabled,
9 optionalAuthenticate 11 optionalAuthenticate
10} from '@server/middlewares' 12} from '@server/middlewares'
11import { HttpStatusCode } from '@shared/models' 13import { HttpStatusCode } from '@shared/models'
@@ -15,12 +17,14 @@ const objectStorageProxyRouter = express.Router()
15objectStorageProxyRouter.use(cors()) 17objectStorageProxyRouter.use(cors())
16 18
17objectStorageProxyRouter.get(OBJECT_STORAGE_PROXY_PATHS.PRIVATE_WEBSEED + ':filename', 19objectStorageProxyRouter.get(OBJECT_STORAGE_PROXY_PATHS.PRIVATE_WEBSEED + ':filename',
20 ensurePrivateObjectStorageProxyIsEnabled,
18 optionalAuthenticate, 21 optionalAuthenticate,
19 asyncMiddleware(ensureCanAccessVideoPrivateWebTorrentFiles), 22 asyncMiddleware(ensureCanAccessVideoPrivateWebTorrentFiles),
20 asyncMiddleware(proxifyWebTorrent) 23 asyncMiddleware(proxifyWebTorrent)
21) 24)
22 25
23objectStorageProxyRouter.get(OBJECT_STORAGE_PROXY_PATHS.STREAMING_PLAYLISTS.PRIVATE_HLS + ':videoUUID/:filename', 26objectStorageProxyRouter.get(OBJECT_STORAGE_PROXY_PATHS.STREAMING_PLAYLISTS.PRIVATE_HLS + ':videoUUID/:filename',
27 ensurePrivateObjectStorageProxyIsEnabled,
24 optionalAuthenticate, 28 optionalAuthenticate,
25 asyncMiddleware(ensureCanAccessPrivateVideoHLSFiles), 29 asyncMiddleware(ensureCanAccessPrivateVideoHLSFiles),
26 asyncMiddleware(proxifyHLS) 30 asyncMiddleware(proxifyHLS)
@@ -35,6 +39,8 @@ export {
35async function proxifyWebTorrent (req: express.Request, res: express.Response) { 39async function proxifyWebTorrent (req: express.Request, res: express.Response) {
36 const filename = req.params.filename 40 const filename = req.params.filename
37 41
42 logger.debug('Proxifying WebTorrent file %s from object storage.', filename)
43
38 try { 44 try {
39 const stream = await getWebTorrentFileReadStream({ 45 const stream = await getWebTorrentFileReadStream({
40 filename, 46 filename,
@@ -52,6 +58,8 @@ async function proxifyHLS (req: express.Request, res: express.Response) {
52 const video = res.locals.onlyVideo 58 const video = res.locals.onlyVideo
53 const filename = req.params.filename 59 const filename = req.params.filename
54 60
61 logger.debug('Proxifying HLS file %s from object storage.', filename)
62
55 try { 63 try {
56 const stream = await getHLSFileReadStream({ 64 const stream = await getHLSFileReadStream({
57 playlist: playlist.withVideo(video), 65 playlist: playlist.withVideo(video),