fix: improper handling of scheme-relative URLs in topic thumb logic

v1.18.x
Julian Lam 4 years ago
parent abc32d6270
commit 4ca62dc45b

@ -23,6 +23,11 @@ module.exports = function (Topics) {
const pipeToFileAsync = util.promisify(pipeToFile);
Topics.resizeAndUploadThumb = async function (data) {
// Handle protocol-relative URLs
if (data.thumb.startsWith('//')) {
data.thumb = `${nconf.get('secure') ? 'https' : 'http'}:${data.thumb}`;
}
// Only continue if passed in thumbnail exists and is a URL. A system path means an upload is not necessary.
if (!data.thumb || !validator.isURL(data.thumb)) {
return;

Loading…
Cancel
Save