lexica-dialog-facebook-messenger
Version:
Facebook messenger plugin for Lexica virual agent
36 lines • 1.42 kB
JavaScript
;
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