const pingbackReceiver = require('./receive')
const log = require('pino')()
function success(msg) {
return `
${msg}
`
}
function err(e) {
log.error(e, 'pingback receive went wrong')
return `
faultCode
0
faultString
Sorry pal. Malformed request? Or something else, who knows...
`
}
function route(router) {
router.post("pingback receive endpoint", "/pingback", async (ctx) => {
try {
if(!pingbackReceiver.validate(ctx.request.body)) {
throw "malformed pingback request"
}
// we do NOT await this on purpose.
pingbackReceiver.receive(ctx.request.body)
ctx.status = 200
ctx.body = success("Thanks, bro. Will process this pingback soon, pinky swear!")
} catch(e) {
ctx.status = 200
ctx.body = err(e)
}
});
}
module.exports = {
route
}