Fix private video download
[oweals/peertube.git] / server / controllers / webfinger.ts
1 import * as express from 'express'
2 import { asyncMiddleware } from '../middlewares'
3 import { webfingerValidator } from '../middlewares/validators'
4
5 const webfingerRouter = express.Router()
6
7 webfingerRouter.get('/.well-known/webfinger',
8   asyncMiddleware(webfingerValidator),
9   webfingerController
10 )
11
12 // ---------------------------------------------------------------------------
13
14 export {
15   webfingerRouter
16 }
17
18 // ---------------------------------------------------------------------------
19
20 function webfingerController (req: express.Request, res: express.Response) {
21   const actor = res.locals.actorFull
22
23   const json = {
24     subject: req.query.resource,
25     aliases: [ actor.url ],
26     links: [
27       {
28         rel: 'self',
29         type: 'application/activity+json',
30         href: actor.url
31       }
32     ]
33   }
34
35   return res.json(json).end()
36 }