You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tellme-bot/packages/server/http/api/webhook.js

41 lines
994 B

1 year ago
import tokenHandler from './../../handlers/token.js'
import parserHandler from './../../handlers/parser.js'
3 years ago
/**
* handle webhook
3 years ago
*
2 years ago
* @author Björn Hase
* @license hhttps://www.gnu.org/licenses/gpl-3.0.en.html GPL-3
2 years ago
* @link https://gitea.node001.net/HerrHase/tellme-bot.git
3 years ago
*
*/
1 year ago
export default async function(fastify, options) {
fastify.addHook('preHandler', tokenHandler)
fastify.addHook('preHandler', parserHandler)
1 year ago
3 years ago
/**
* getting post getting allowed parser class and send over xmpp
3 years ago
*
* @param {object} request
* @param {object} response
*
*/
1 year ago
fastify.post('/v1/:parser/:token', async function (request, response) {
3 years ago
1 year ago
// getting parser from preHandler: parserHandler
const result = response.locals.parser.run()
3 years ago
// send event for send xmpp
fastify.eventEmitter.emit('send-message', {
3 years ago
'message': result
})
1 year ago
response
3 years ago
.code(200)
.send()
})
1 year ago
}