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 }