PeerTube/server/controllers/webfinger.ts

37 lines
843 B
TypeScript
Raw Normal View History

2017-11-14 17:31:26 +01:00
import * as express from 'express'
2017-12-12 17:53:50 +01:00
import { asyncMiddleware } from '../middlewares'
import { webfingerValidator } from '../middlewares/validators'
2017-11-14 17:31:26 +01:00
const webfingerRouter = express.Router()
webfingerRouter.get('/.well-known/webfinger',
2017-11-27 17:30:46 +01:00
asyncMiddleware(webfingerValidator),
2017-11-14 17:31:26 +01:00
webfingerController
)
// ---------------------------------------------------------------------------
export {
webfingerRouter
}
// ---------------------------------------------------------------------------
2019-03-19 10:35:15 +01:00
function webfingerController (req: express.Request, res: express.Response) {
2019-08-15 11:53:26 +02:00
const actor = res.locals.actorFull
2017-11-14 17:31:26 +01:00
const json = {
subject: req.query.resource,
2017-12-14 17:38:41 +01:00
aliases: [ actor.url ],
2017-11-14 17:31:26 +01:00
links: [
{
rel: 'self',
type: 'application/activity+json',
2017-12-14 17:38:41 +01:00
href: actor.url
2017-11-14 17:31:26 +01:00
}
]
}
return res.json(json).end()
}