add fan page notify, add twitch route, todo: twitch webhook reg

This commit is contained in:
Jay
2018-06-27 00:59:53 +08:00
parent f409e6ff61
commit 1f3057df69
15 changed files with 377 additions and 51 deletions
+1 -1
View File
@@ -2,6 +2,6 @@ const Router = require('koa-router')
const r = new Router()
r.use('/line', require('./line').routes())
r.use('/fb', require('./facebook').routes())
r.use('/twitch', require('./twitch').routes())
module.exports = r
+2 -20
View File
@@ -1,32 +1,14 @@
const Router = require('koa-router')
const r = new Router()
// const koaBody = require('koa-body')
const rawBody = require('raw-body')
const {
verifyLine
verifyLine,
getRaw
} = require('../../libs/middleware')
const {
textMessage
} = require('../../libs/line-message')
const getRaw = async (c, n) => {
let raw = await rawBody(c.req, {
length: c.request.length,
limit: '5mb',
encoding: c.request.charset
})
c.request.raw = raw
let txt = raw instanceof Buffer ? raw.toString() : raw
if (c.request.type === 'application/json') {
try {
c.request.body = JSON.parse(txt)
} catch (err) {
c.request.body = txt
}
}
return n()
}
r.post('/', getRaw, verifyLine, async (c, n) => {
console.log(JSON.stringify(c.request.body, null, 2))
if (!('events' in c.request.body)) return c.throw(400, 'data struct error')
+31
View File
@@ -0,0 +1,31 @@
const Router = require('koa-router')
const r = new Router()
const {
getRaw
} = require('../../libs/middleware')
const config = require('../../config')
r.get('/', async (c, n) => {
let mode = c.query['hub.mode']
let token = c.query['hub.secret']
let challenge = c.query['hub.challenge']
console.log(mode, token, challenge)
console.log(c.headers)
if (mode) {
if (mode === 'subscribe') {
c.status = 200
c.body = challenge
} else {
c.status = 403
c.body = ''
}
}
})
r.post('/', getRaw, async (c, n) => {
console.log(JSON.stringify(c.request.body, null, 2))
c.body = 'success'
c.status = 200
})
module.exports = r