]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/controllers/webfinger.ts
cc28a8909663223b94acb42e4ff8f8423ed651da
[github/Chocobozzz/PeerTube.git] / server / controllers / webfinger.ts
1 import * as express from 'express'
2 import { webfingerValidator } from '../middlewares/validators/webfinger'
3 import { AccountInstance } from '../models/account/account-interface'
4
5 const webfingerRouter = express.Router()
6
7 webfingerRouter.get('/.well-known/webfinger',
8 webfingerValidator,
9 webfingerController
10 )
11
12 // ---------------------------------------------------------------------------
13
14 export {
15 webfingerRouter
16 }
17
18 // ---------------------------------------------------------------------------
19
20 function webfingerController (req: express.Request, res: express.Response, next: express.NextFunction) {
21 const account: AccountInstance = res.locals.account
22
23 const json = {
24 subject: req.query.resource,
25 aliases: [ account.url ],
26 links: [
27 {
28 rel: 'self',
29 href: account.url
30 }
31 ]
32 }
33
34 return res.json(json).end()
35 }