aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/controllers/object-storage-proxy.ts
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2022-10-26 16:23:39 +0200
committerChocobozzz <me@florianbigard.com>2022-10-27 09:13:10 +0200
commit5a122dddc5aab1b2ae1843411032d5f392bdd216 (patch)
tree39778c4372c4b371f1294c94bf22d8a6e7a26456 /server/controllers/object-storage-proxy.ts
parent49e7e4d9ffd16cba7a721f6d3d3203decf4f4b2c (diff)
downloadPeerTube-5a122dddc5aab1b2ae1843411032d5f392bdd216.tar.gz
PeerTube-5a122dddc5aab1b2ae1843411032d5f392bdd216.tar.zst
PeerTube-5a122dddc5aab1b2ae1843411032d5f392bdd216.zip
Option to disable static files auth check/s3 proxy
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),