Ghost/core/server/lib/image/gravatar.js
Kukhyeon Heo 504509bb67
Removed global.Promise override (#12182)
closed #11943 

* Remove global.Promise
* Fix brute-knex bluebird error.
* Fix api-acceptance tests.
* Fix unit tests
2020-11-04 10:55:47 +00:00

32 lines
969 B
JavaScript

const Promise = require('bluebird');
const crypto = require('crypto');
const config = require('../../../shared/config');
const request = require('../request');
module.exports.lookup = function lookup(userData, timeout) {
let gravatarUrl = '//www.gravatar.com/avatar/' +
crypto.createHash('md5').update(userData.email.toLowerCase().trim()).digest('hex') +
'?s=250';
if (config.isPrivacyDisabled('useGravatar')) {
return Promise.resolve();
}
return Promise.resolve(request('https:' + gravatarUrl + '&d=404&r=x', {timeout: timeout || 2 * 1000}))
.then(function () {
gravatarUrl += '&d=mm&r=x';
return {
image: gravatarUrl
};
})
.catch({statusCode: 404}, function () {
return {
image: undefined
};
})
.catch(function () {
// ignore error, just resolve with no image url
});
};