UNPKG

lexica-dialog-facebook-messenger

Version:
36 lines 1.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const Constants_1 = require("./Constants"); const facebookMiddleware = async (context, next) => { const { serverContext, messenger, uniConfigs, logger } = context; if (messenger.name === Constants_1.MESSENGER_NAME) { let verifyToken; if (uniConfigs.has(Constants_1.CONFIG_FACEBOOK_VERIFY_TOKEN)) { verifyToken = uniConfigs.get(Constants_1.CONFIG_FACEBOOK_VERIFY_TOKEN) .value; } else { throw new Error("UNI Config not found: " + Constants_1.CONFIG_FACEBOOK_VERIFY_TOKEN); } if (serverContext.method === "GET" && serverContext.query["hub.mode"] === "subscribe" && serverContext.query["hub.verify_token"] === verifyToken) { serverContext.status = 200; serverContext.body = serverContext.query["hub.challenge"]; } else if (serverContext.method === "POST") { const { rawRequest } = context; serverContext.status = 200; serverContext.body = "OK"; next().catch(error => logger.error("Error catched by Facebook middleware", rawRequest, error)); } else { await next(); } } else { await next(); } }; exports.default = facebookMiddleware; //# sourceMappingURL=FacebookMiddleware.js.map