Support npm scopes

- URL encode package name component in URL
This commit is contained in:
Wil Moore III 2015-04-30 11:41:37 -06:00
parent 9babb873c1
commit 54b81e2319

View File

@ -986,9 +986,9 @@ cache(function(data, match, sendBadge, request) {
// npm download integration. // npm download integration.
camp.route(/^\/npm\/dm\/(.*)\.(svg|png|gif|jpg|json)$/, camp.route(/^\/npm\/dm\/(.*)\.(svg|png|gif|jpg|json)$/,
cache(function(data, match, sendBadge, request) { cache(function(data, match, sendBadge, request) {
var user = match[1]; // eg, `localeval`. var pkg = encodeURIComponent(match[1]); // eg, "express" or "@user/express"
var format = match[2]; var format = match[2];
var apiUrl = 'https://api.npmjs.org/downloads/point/last-month/' + user; var apiUrl = 'https://api.npmjs.org/downloads/point/last-month/' + pkg;
var badgeData = getBadgeData('downloads', data); var badgeData = getBadgeData('downloads', data);
request(apiUrl, function(err, res, buffer) { request(apiUrl, function(err, res, buffer) {
if (err != null) { if (err != null) {
@ -1022,7 +1022,7 @@ cache(function(data, match, sendBadge, request) {
// npm version integration. // npm version integration.
camp.route(/^\/npm\/v\/(.*)\.(svg|png|gif|jpg|json)$/, camp.route(/^\/npm\/v\/(.*)\.(svg|png|gif|jpg|json)$/,
cache(function(data, match, sendBadge, request) { cache(function(data, match, sendBadge, request) {
var repo = match[1]; // eg, `localeval`. var repo = encodeURIComponent(match[1]); // eg, "express" or "@user/express"
var format = match[2]; var format = match[2];
var apiUrl = 'https://registry.npmjs.org/' + repo + '/latest'; var apiUrl = 'https://registry.npmjs.org/' + repo + '/latest';
var badgeData = getBadgeData('npm', data); var badgeData = getBadgeData('npm', data);
@ -1050,7 +1050,7 @@ cache(function(data, match, sendBadge, request) {
// npm license integration. // npm license integration.
camp.route(/^\/npm\/l\/(.*)\.(svg|png|gif|jpg|json)$/, camp.route(/^\/npm\/l\/(.*)\.(svg|png|gif|jpg|json)$/,
cache(function(data, match, sendBadge, request) { cache(function(data, match, sendBadge, request) {
var repo = match[1]; // eg, "express" var repo = encodeURIComponent(match[1]); // eg, "express" or "@user/express"
var format = match[2]; var format = match[2];
var apiUrl = 'http://registry.npmjs.org/' + repo + '/latest'; var apiUrl = 'http://registry.npmjs.org/' + repo + '/latest';
var badgeData = getBadgeData('license', data); var badgeData = getBadgeData('license', data);
@ -1080,7 +1080,7 @@ cache(function(data, match, sendBadge, request) {
// npm node version integration. // npm node version integration.
camp.route(/^\/node\/v\/(.*)\.(svg|png|gif|jpg|json)$/, camp.route(/^\/node\/v\/(.*)\.(svg|png|gif|jpg|json)$/,
cache(function(data, match, sendBadge, request) { cache(function(data, match, sendBadge, request) {
var repo = match[1]; // eg, `localeval`. var repo = encodeURIComponent(match[1]); // eg, "express" or "@user/express"
var format = match[2]; var format = match[2];
var apiUrl = 'https://registry.npmjs.org/' + repo + '/latest'; var apiUrl = 'https://registry.npmjs.org/' + repo + '/latest';
var badgeData = getBadgeData('node', data); var badgeData = getBadgeData('node', data);