+import * as cors from 'cors'
import * as express from 'express'
-import { webfingerValidator } from '../middlewares/validators/webfinger'
-import { AccountInstance } from '../models/account/account-interface'
+import { WEBSERVER } from '@server/initializers/constants'
+import { asyncMiddleware } from '../middlewares'
+import { webfingerValidator } from '../middlewares/validators'
const webfingerRouter = express.Router()
+webfingerRouter.use(cors())
+
webfingerRouter.get('/.well-known/webfinger',
- webfingerValidator,
+ asyncMiddleware(webfingerValidator),
webfingerController
)
// ---------------------------------------------------------------------------
-function webfingerController (req: express.Request, res: express.Response, next: express.NextFunction) {
- const account: AccountInstance = res.locals.account
+function webfingerController (req: express.Request, res: express.Response) {
+ const actor = res.locals.actorUrl
const json = {
subject: req.query.resource,
- aliases: [ account.url ],
+ aliases: [ actor.url ],
links: [
{
rel: 'self',
- href: account.url
+ type: 'application/activity+json',
+ href: actor.url
+ },
+ {
+ rel: 'http://ostatus.org/schema/1.0/subscribe',
+ template: WEBSERVER.URL + '/remote-interaction?uri={uri}'
}
]
}
- return res.json(json).end()
+ return res.json(json)
}