From 08312e4e593cf35b7a5bb13663596562cd454011 Mon Sep 17 00:00:00 2001 From: dan Date: Mon, 30 Mar 2020 19:58:36 -0600 Subject: [PATCH] Update sharing api --- Server/src/package-lock.json | 57 ++++++++++++++++++++++++++++++++++ Server/src/package.json | 3 +- Server/src/routes/api/share.js | 17 ++++++---- 3 files changed, 70 insertions(+), 7 deletions(-) diff --git a/Server/src/package-lock.json b/Server/src/package-lock.json index 1ff42dc..9a28c04 100644 --- a/Server/src/package-lock.json +++ b/Server/src/package-lock.json @@ -13,6 +13,11 @@ "negotiator": "0.6.1" } }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + }, "append-field": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/append-field/-/append-field-0.1.0.tgz", @@ -445,6 +450,14 @@ "ee-first": "1.1.1" } }, + "optimist": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", + "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", + "requires": { + "wordwrap": "~0.0.2" + } + }, "parseurl": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", @@ -504,6 +517,15 @@ "util-deprecate": "~1.0.1" } }, + "require": { + "version": "2.4.20", + "resolved": "https://registry.npmjs.org/require/-/require-2.4.20.tgz", + "integrity": "sha1-Zstrqqu2XeinHXk/XGX9GE83mLY=", + "requires": { + "std": "0.1.40", + "uglify-js": "2.3.0" + } + }, "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", @@ -545,6 +567,14 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "requires": { + "amdefine": ">=0.0.4" + } + }, "sqlstring": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.2.0.tgz", @@ -555,6 +585,11 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" }, + "std": { + "version": "0.1.40", + "resolved": "https://registry.npmjs.org/std/-/std-0.1.40.tgz", + "integrity": "sha1-Nnil9lCU2eG2teJu2/wCErg0K3E=" + }, "streamsearch": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", @@ -582,6 +617,23 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, + "uglify-js": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.0.tgz", + "integrity": "sha1-LN7BbTeKiituz7aYl4TPi3rlSR8=", + "requires": { + "async": "~0.2.6", + "optimist": "~0.3.5", + "source-map": "~0.1.7" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" + } + } + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -602,6 +654,11 @@ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.1.tgz", "integrity": "sha1-Z1Neu2lMHVIldFeYRmUyP1h+jTc=" }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", diff --git a/Server/src/package.json b/Server/src/package.json index 875c319..bf5855f 100644 --- a/Server/src/package.json +++ b/Server/src/package.json @@ -18,6 +18,7 @@ "moment-timezone": "^0.5.13", "multer": "^1.3.0", "mysql": "^2.14.1", - "nodemailer": "^4.1.0" + "nodemailer": "^4.1.0", + "require": "^2.4.20" } } diff --git a/Server/src/routes/api/share.js b/Server/src/routes/api/share.js index b747f31..e79c46e 100644 --- a/Server/src/routes/api/share.js +++ b/Server/src/routes/api/share.js @@ -1,6 +1,6 @@ var express = require('express'); var router = express.Router(); -var http = require('https'); +var request = require('request'); var dbSermons = require('../../database/sermons'); var dbEvents = require('../../database/events'); @@ -33,9 +33,12 @@ router.get("/:shareCode",function(req,res){ }); function getOther(req, res, param) { - const jsonPath = req.protocol + '://' + req.hostname + shareFolder + param + '/meta.json'; - http.get(jsonPath, resp => { - processOtherJson(req, res, JSON.parse(resp), jsonPath); + const port = req.hostname === 'localhost' ? ':4200' : ''; + const jsonPath = req.protocol + '://' + req.hostname + port + shareFolder + param; + console.log(jsonPath); + request(jsonPath + '/meta.json', {json: true}, (err, resp, body) => { + console.log(body); + processOtherJson(req, res, body, jsonPath); }); } @@ -49,9 +52,11 @@ function processOtherJson(req, res, json, basePath) { userAgent.startsWith('Twitterbot') || referrer.startsWith('http://opengraphcheck.com')) { const imageUrl = basePath + json.imageUrl; - getOtherMeta(req, res, json.title, json.description, json.imageUrl, json.imageWidth, json.imageHeight); + getOtherMeta(req, res, json.title, json.description, imageUrl, json.imageWidth, json.imageHeight); } else { - const redirect = req.protocol + '://' + req.hostname + json.url; + const port = req.hostname === 'localhost' ? ':4200' : ''; + const redirect = req.protocol + '://' + req.hostname + port + json.url; + console.log(redirect); res.redirect(redirect); } }