Use GitHub OAuth apps to increase rate limits.
This commit is contained in:
1
Makefile
1
Makefile
@@ -9,6 +9,7 @@ website:
|
|||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
git add -f Verdana.ttf
|
git add -f Verdana.ttf
|
||||||
|
git add -f secret.json
|
||||||
git commit -m'MUST NOT BE ON GITHUB'
|
git commit -m'MUST NOT BE ON GITHUB'
|
||||||
git push -f heroku HEAD:master
|
git push -f heroku HEAD:master
|
||||||
git reset HEAD~1
|
git reset HEAD~1
|
||||||
|
|||||||
16
server.js
16
server.js
@@ -8,6 +8,12 @@ var fs = require('fs');
|
|||||||
var LruCache = require('./lru-cache.js');
|
var LruCache = require('./lru-cache.js');
|
||||||
var badge = require('./badge.js');
|
var badge = require('./badge.js');
|
||||||
var svg2img = require('./svg-to-img.js');
|
var svg2img = require('./svg-to-img.js');
|
||||||
|
var serverSecrets;
|
||||||
|
try {
|
||||||
|
// Everything that cannot be checked in but is useful server-side
|
||||||
|
// is stored in this JSON data.
|
||||||
|
serverSecrets = require('secret.json');
|
||||||
|
} catch(e) {}
|
||||||
var semver = require('semver');
|
var semver = require('semver');
|
||||||
var serverStartTime = new Date((new Date()).toGMTString());
|
var serverStartTime = new Date((new Date()).toGMTString());
|
||||||
|
|
||||||
@@ -873,6 +879,12 @@ cache(function(data, match, sendBadge) {
|
|||||||
var repo = match[2];
|
var repo = match[2];
|
||||||
var format = match[3];
|
var format = match[3];
|
||||||
var apiUrl = 'https://api.github.com/repos/' + user + '/' + repo + '/tags';
|
var apiUrl = 'https://api.github.com/repos/' + user + '/' + repo + '/tags';
|
||||||
|
// Using our OAuth App secret grants us 5000 req/min
|
||||||
|
// instead of the standard 60 req/min.
|
||||||
|
if (serverSecrets) {
|
||||||
|
apiUrl += '?client_id=' + serverSecrets.gh_client_id
|
||||||
|
+ '&client_secret=' + serverSecrets.gh_client_secret;
|
||||||
|
}
|
||||||
var badgeData = getBadgeData('tag', data);
|
var badgeData = getBadgeData('tag', data);
|
||||||
// A special User-Agent is required:
|
// A special User-Agent is required:
|
||||||
// http://developer.github.com/v3/#user-agent-required
|
// http://developer.github.com/v3/#user-agent-required
|
||||||
@@ -897,6 +909,8 @@ cache(function(data, match, sendBadge) {
|
|||||||
}
|
}
|
||||||
sendBadge(format, badgeData);
|
sendBadge(format, badgeData);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
|
console.error(e);
|
||||||
|
console.error('JSON: ' + buffer);
|
||||||
badgeData.text[1] = 'invalid';
|
badgeData.text[1] = 'invalid';
|
||||||
sendBadge(format, badgeData);
|
sendBadge(format, badgeData);
|
||||||
}
|
}
|
||||||
@@ -938,6 +952,8 @@ cache(function(data, match, sendBadge) {
|
|||||||
}
|
}
|
||||||
sendBadge(format, badgeData);
|
sendBadge(format, badgeData);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
|
console.error(e);
|
||||||
|
console.error('JSON: ' + buffer);
|
||||||
badgeData.text[1] = 'invalid';
|
badgeData.text[1] = 'invalid';
|
||||||
sendBadge(format, badgeData);
|
sendBadge(format, badgeData);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user