-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
36 lines (29 loc) · 803 Bytes
/
index.js
File metadata and controls
36 lines (29 loc) · 803 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
const { json, send } = require('micro')
const MessengerCore = require('messenger-core')
module.exports = function MicroMessenger () {
const messengerCore = MessengerCore()
let nextHandler = null
async function microMessenger (req, res) {
let didHandle = false
try {
const body = await json(req)
didHandle = await messengerCore(body)
} catch (error) {
// JSON could not be parsed, so it's not a message for us
}
if (didHandle || !nextHandler) {
send(res, 200)
return
}
return nextHandler (req, res)
}
microMessenger.else = function (handler) {
nextHandler = handler
return microMessenger
}
microMessenger.use = function (plugin) {
messengerCore.use(plugin)
return microMessenger
}
return microMessenger
}