diff --git a/Server/src/routes/api/share.js b/Server/src/routes/api/share.js index 6fb794c..b122400 100644 --- a/Server/src/routes/api/share.js +++ b/Server/src/routes/api/share.js @@ -24,9 +24,28 @@ router.get("/:shareCode",function(req,res){ return getSermon(req, res, param); case "e": return getEvent(req,res,param); + case "o": + return getOther(req, res) } }); +function getOther(req, res,) { + console.log(req.headers); + var userAgent = req.headers['user-agent']; + var userAgentOverride = req.headers['user-agent-override']; + var referrer = req.headers['referer'] || ""; + userAgent = userAgentOverride || userAgent; + if (userAgent.startsWith('facebookexternalhit/1.1') || + userAgent === 'Facebot' || + userAgent.startsWith('Twitterbot') || + referrer.startsWith('http://opengraphcheck.com')) { + getOtherMeta(req, res, req.query.title, req.query.description, req.query.imageUrl, req.query.imageWidth, req.query.imageHeight, req.query.url); + } else { + var url = req.query.url; + res.redirect(url); + } +} + function getSermon(req, res, id){ console.log(req.headers); var userAgent = req.headers['user-agent']; @@ -44,6 +63,28 @@ function getSermon(req, res, id){ } } +function getOtherMeta(req, res, title, description, imageUrl, imageWidth, imageHeight, url) { + var result = ` +
+