Implement /api/v1/instance/peers (#2913)

* Implement /api/v1/instance/peers

* Use punycode

* Remove Cache-Control

* Rename
This commit is contained in:
MeiMei 2018-10-16 08:55:55 +09:00 committed by syuilo
parent 99da4f9839
commit 072492c29b
2 changed files with 16 additions and 0 deletions

View file

@ -46,6 +46,8 @@ router.post('/signin', require('./private/signin').default);
router.use(require('./service/github').routes()); router.use(require('./service/github').routes());
router.use(require('./service/twitter').routes()); router.use(require('./service/twitter').routes());
router.use(require('./mastodon').routes());
// Return 404 for unknown API // Return 404 for unknown API
router.all('*', async ctx => { router.all('*', async ctx => {
ctx.status = 404; ctx.status = 404;

View file

@ -0,0 +1,14 @@
import * as Router from 'koa-router';
import User from '../../models/user';
import { toASCII } from 'punycode';
// Init router
const router = new Router();
router.get('/v1/instance/peers', async ctx => {
const peers = await User.distinct('host', { host: { $ne: null } }) as any as string[];
const punyCodes = peers.map(peer => toASCII(peer));
ctx.body = punyCodes;
});
module.exports = router;