From a4a46b070cc4f17f412e54ac3d17eeb0059436a5 Mon Sep 17 00:00:00 2001 From: Thaddee Tyl Date: Sat, 11 Feb 2017 00:09:24 +0100 Subject: [PATCH] Foolproof Bitbucket pull request - Use metric() for the displayed number - Use encodeURI() for API parameters - Explicitly use a condition expression instead of a number where a boolean is expected Part of #790. --- server.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/server.js b/server.js index 9988613..b77b303 100644 --- a/server.js +++ b/server.js @@ -3477,7 +3477,8 @@ cache(function(data, match, sendBadge, request) { var user = match[2]; // eg, atlassian var repo = match[3]; // eg, python-bitbucket var format = match[4]; - var apiUrl = 'https://bitbucket.org/api/2.0/repositories/' + user + '/' + repo + var apiUrl = 'https://bitbucket.org/api/2.0/repositories/' + + encodeURI(user) + '/' + encodeURI(repo) + '/pullrequests/?limit=0&state=OPEN'; var badgeData = getBadgeData('pull requests', data); @@ -3490,8 +3491,8 @@ cache(function(data, match, sendBadge, request) { try { var data = JSON.parse(buffer); var pullrequests = data.size; - badgeData.text[1] = pullrequests + (isRaw? '': ' open'); - badgeData.colorscheme = pullrequests ? 'yellow' : 'brightgreen'; + badgeData.text[1] = metric(pullrequests) + (isRaw? '': ' open'); + badgeData.colorscheme = (pullrequests > 0)? 'yellow': 'brightgreen'; sendBadge(format, badgeData); } catch(e) { badgeData.text[1] = 'invalid';