- express.static(thumbnailsPhysicalPath, { maxAge: STATIC_MAX_AGE })
-)
-
-const avatarsPhysicalPath = CONFIG.STORAGE.AVATARS_DIR
-staticRouter.use(
- STATIC_PATHS.AVATARS,
- express.static(avatarsPhysicalPath, { maxAge: STATIC_MAX_AGE })
-)
-
-// We don't have video previews, fetch them from the origin instance
-staticRouter.use(
- STATIC_PATHS.PREVIEWS + ':uuid.jpg',
- asyncMiddleware(getPreview)
-)
-
-// We don't have video captions, fetch them from the origin instance
-staticRouter.use(
- STATIC_PATHS.VIDEO_CAPTIONS + ':videoId-:captionLanguage([a-z]+).vtt',
- asyncMiddleware(getVideoCaption)
-)
-
-// robots.txt service
-staticRouter.get('/robots.txt',
- asyncMiddleware(cache(ROUTE_CACHE_LIFETIME.ROBOTS)),
- (_, res: express.Response) => {
- res.type('text/plain')
- return res.send(CONFIG.INSTANCE.ROBOTS)
- }
-)
-
-// nodeinfo service
-staticRouter.use('/.well-known/nodeinfo',
- asyncMiddleware(cache(ROUTE_CACHE_LIFETIME.NODEINFO)),
- (_, res: express.Response) => {
- return res.json({
- links: [
- {
- rel: 'http://nodeinfo.diaspora.software/ns/schema/2.0',
- href: CONFIG.WEBSERVER.URL + '/nodeinfo/2.0.json'
- }
- ]
- })
- }
-)
-staticRouter.use('/nodeinfo/:version.json',
- asyncMiddleware(cache(ROUTE_CACHE_LIFETIME.NODEINFO)),
- asyncMiddleware(generateNodeinfo)