diff --git a/server.js b/server.js index f844bce..1f17874 100644 --- a/server.js +++ b/server.js @@ -684,6 +684,33 @@ cache(function(data, match, sendBadge, request) { }); })); +// Coverity Code Advisor On Demand integration +camp.route(/^\/coverity\/ondemand\/(.+)\/(.+)\.(svg|png|gif|jpg|json)$/, +cache(function(data, match, sendBadge, request) { + var badgeType = match[1]; // streams or jobs + var badgeTypeId = match[2]; // streamId or jobId + var format = match[3]; + var url = 'https://api.ondemand.coverity.com/' + badgeType + '/' + badgeTypeId + '/badge'; +// var url = 'https://api-stage01.caas.coverity.com/' + badgeType + '/' + badgeTypeId + '/badge'; +// var url = 'http://localhost:21020/' + badgeType + '/' + badgeTypeId + '/badge'; + console.log(url) + var badgeData = getBadgeData('coverity', data); + request(url, function(err, res, buffer) { + if (err != null) { + badgeData.text[1] = 'inaccessible'; + sendBadge(format, badgeData); + return; + } + try { + badgeData = JSON.parse(buffer); + sendBadge(format, badgeData); + } catch(e) { + badgeData.text[1] = 'invalid'; + sendBadge(format, badgeData); + } + }); +})); + // Gratipay integration. camp.route(/^\/(gittip|gratipay)\/(.*)\.(svg|png|gif|jpg|json)$/, cache(function(data, match, sendBadge, request) { diff --git a/try.html b/try.html index e32b49d..b8e6774 100644 --- a/try.html +++ b/try.html @@ -172,6 +172,10 @@ Pixel-perfect Retina-ready Fast Consistent Hackable
https://img.shields.io/coverity/scan/3997.svg
https://img.shields.io/coverity/ondemand/streams/1234.svg
https://img.shields.io/hhvm/symfony/symfony.svg