import * as cors from 'cors'
import * as express from 'express'
import {
+ CONSTRAINTS_FIELDS,
+ DEFAULT_THEME_NAME,
HLS_STREAMING_PLAYLIST_DIRECTORY,
PEERTUBE_VERSION,
ROUTE_CACHE_LIFETIME,
STATIC_DOWNLOAD_PATHS,
STATIC_MAX_AGE,
STATIC_PATHS,
- WEBSERVER,
- CONSTRAINTS_FIELDS,
- DEFAULT_THEME_NAME
+ WEBSERVER
} from '../initializers/constants'
import { cacheRoute } from '../middlewares/cache'
import { asyncMiddleware, videosDownloadValidator } from '../middlewares'
import { HttpNodeinfoDiasporaSoftwareNsSchema20 } from '../../shared/models/nodeinfo'
import { join } from 'path'
import { root } from '../helpers/core-utils'
-import { CONFIG } from '../initializers/config'
-import { Emailer } from '../lib/emailer'
+import { CONFIG, isEmailEnabled } from '../initializers/config'
import { getPreview, getVideoCaption } from './lazy-static'
import { VideoStreamingPlaylistType } from '@shared/models/videos/video-streaming-playlist.type'
-import { MVideoFile, MVideoFullLight } from '@server/typings/models'
+import { MVideoFile, MVideoFullLight } from '@server/types/models'
import { getTorrentFilePath, getVideoFilePath } from '@server/lib/video-paths'
import { getThemeOrDefault } from '../lib/plugins/theme-utils'
import { getEnabledResolutions, getRegisteredPlugins, getRegisteredThemes } from '@server/controllers/api/config'
+import { HttpStatusCode } from '@shared/core-utils/miscs/http-error-codes'
const staticRouter = express.Router()
// security.txt service
staticRouter.get('/security.txt',
(_, res: express.Response) => {
- return res.redirect(301, '/.well-known/security.txt')
+ return res.redirect(HttpStatusCode.MOVED_PERMANENTLY_301, '/.well-known/security.txt')
}
)
nodeName: CONFIG.INSTANCE.NAME,
nodeDescription: CONFIG.INSTANCE.SHORT_DESCRIPTION,
nodeConfig: {
+ search: {
+ remoteUri: {
+ users: CONFIG.SEARCH.REMOTE_URI.USERS,
+ anonymous: CONFIG.SEARCH.REMOTE_URI.ANONYMOUS
+ }
+ },
plugin: {
registered: getRegisteredPlugins()
},
default: getThemeOrDefault(CONFIG.THEME.DEFAULT, DEFAULT_THEME_NAME)
},
email: {
- enabled: Emailer.isEnabled()
+ enabled: isEmailEnabled()
},
contactForm: {
enabled: CONFIG.CONTACT_FORM.ENABLED
webtorrent: {
enabled: CONFIG.TRANSCODING.WEBTORRENT.ENABLED
},
- enabledResolutions: getEnabledResolutions()
+ enabledResolutions: getEnabledResolutions('vod')
+ },
+ live: {
+ enabled: CONFIG.LIVE.ENABLED,
+ transcoding: {
+ enabled: CONFIG.LIVE.TRANSCODING.ENABLED,
+ enabledResolutions: getEnabledResolutions('live')
+ }
},
import: {
videos: {
res.contentType('application/json; profile="http://nodeinfo.diaspora.software/ns/schema/2.0#"')
} else {
json = { error: 'Nodeinfo schema version not handled' }
- res.status(404)
+ res.status(HttpStatusCode.NOT_FOUND_404)
}
return res.send(json).end()
const video = res.locals.videoAll
const videoFile = getVideoFile(req, video.VideoFiles)
- if (!videoFile) return res.status(404).end()
+ if (!videoFile) return res.status(HttpStatusCode.NOT_FOUND_404).end()
return res.download(getTorrentFilePath(video, videoFile), `${video.name}-${videoFile.resolution}p.torrent`)
}
const video = res.locals.videoAll
const playlist = getHLSPlaylist(video)
- if (!playlist) return res.status(404).end
+ if (!playlist) return res.status(HttpStatusCode.NOT_FOUND_404).end
const videoFile = getVideoFile(req, playlist.VideoFiles)
- if (!videoFile) return res.status(404).end()
+ if (!videoFile) return res.status(HttpStatusCode.NOT_FOUND_404).end()
return res.download(getTorrentFilePath(playlist, videoFile), `${video.name}-${videoFile.resolution}p-hls.torrent`)
}
const video = res.locals.videoAll
const videoFile = getVideoFile(req, video.VideoFiles)
- if (!videoFile) return res.status(404).end()
+ if (!videoFile) return res.status(HttpStatusCode.NOT_FOUND_404).end()
return res.download(getVideoFilePath(video, videoFile), `${video.name}-${videoFile.resolution}p${videoFile.extname}`)
}
function downloadHLSVideoFile (req: express.Request, res: express.Response) {
const video = res.locals.videoAll
const playlist = getHLSPlaylist(video)
- if (!playlist) return res.status(404).end
+ if (!playlist) return res.status(HttpStatusCode.NOT_FOUND_404).end
const videoFile = getVideoFile(req, playlist.VideoFiles)
- if (!videoFile) return res.status(404).end()
+ if (!videoFile) return res.status(HttpStatusCode.NOT_FOUND_404).end()
const filename = `${video.name}-${videoFile.resolution}p-${playlist.getStringType()}${videoFile.extname}`
return res.download(getVideoFilePath(playlist, videoFile), filename)