mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-10 23:36:14 -05:00
- All var declarations are now const or let as per ES6 - All comma-separated lists / chained declarations are now one declaration per line - This is for clarity/readability but also made running the var-to-const/let switch smoother - ESLint rules updated to match How this was done: - npm install -g jscodeshift - git clone https://github.com/cpojer/js-codemod.git - git clone git@github.com:TryGhost/Ghost.git shallow-ghost - cd shallow-ghost - jscodeshift -t ../js-codemod/transforms/unchain-variables.js . -v=2 - jscodeshift -t ../js-codemod/transforms/no-vars.js . -v=2 - yarn - yarn test - yarn lint / fix various lint errors (almost all indent) by opening files and saving in vscode - grunt test-regression - sorted!
31 lines
942 B
JavaScript
31 lines
942 B
JavaScript
const Promise = require('bluebird');
|
|
const crypto = require('crypto');
|
|
const config = require('../../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 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
|
|
});
|
|
};
|