From 9e2d69e7ef5ab4fe32571fab8228ef8a44412417 Mon Sep 17 00:00:00 2001 From: John Fitzpatrick Date: Fri, 5 Jun 2015 15:40:08 -0600 Subject: [PATCH] Added support for Coverity On Demand badges. --- server.js | 27 +++++++++++++++++++++++++++ try.html | 4 ++++ 2 files changed, 31 insertions(+) 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 + Coverity Code Advisor On Demand: + + https://img.shields.io/coverity/ondemand/streams/1234.svg + HHVM: https://img.shields.io/hhvm/symfony/symfony.svg