From 54b81e23193946e20ff85a043ccfe0da7290daec Mon Sep 17 00:00:00 2001 From: Wil Moore III Date: Thu, 30 Apr 2015 11:41:37 -0600 Subject: [PATCH] Support npm scopes - URL encode package name component in URL --- server.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/server.js b/server.js index 162f34f..b659b60 100644 --- a/server.js +++ b/server.js @@ -986,9 +986,9 @@ cache(function(data, match, sendBadge, request) { // npm download integration. camp.route(/^\/npm\/dm\/(.*)\.(svg|png|gif|jpg|json)$/, 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 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); request(apiUrl, function(err, res, buffer) { if (err != null) { @@ -1022,7 +1022,7 @@ cache(function(data, match, sendBadge, request) { // npm version integration. camp.route(/^\/npm\/v\/(.*)\.(svg|png|gif|jpg|json)$/, 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 apiUrl = 'https://registry.npmjs.org/' + repo + '/latest'; var badgeData = getBadgeData('npm', data); @@ -1050,7 +1050,7 @@ cache(function(data, match, sendBadge, request) { // npm license integration. camp.route(/^\/npm\/l\/(.*)\.(svg|png|gif|jpg|json)$/, 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 apiUrl = 'http://registry.npmjs.org/' + repo + '/latest'; var badgeData = getBadgeData('license', data); @@ -1080,7 +1080,7 @@ cache(function(data, match, sendBadge, request) { // npm node version integration. camp.route(/^\/node\/v\/(.*)\.(svg|png|gif|jpg|json)$/, 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 apiUrl = 'https://registry.npmjs.org/' + repo + '/latest'; var badgeData = getBadgeData('node', data);