Unify lint rules and clean lint (#2009)
Now that server.js is emptied out, it makes sense to eliminate the differences between the top-level .js files and everything else.
This commit is contained in:
75
server.js
75
server.js
@@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
const dom = require('xmldom').DOMParser;
|
||||
const { DOMParser } = require('xmldom');
|
||||
const jp = require('jsonpath');
|
||||
const path = require('path');
|
||||
const xpath = require('xpath');
|
||||
@@ -95,9 +95,9 @@ githubConstellation.initialize(camp);
|
||||
|
||||
suggest.setRoutes(config.cors.allowedOrigin, githubApiProvider, camp);
|
||||
|
||||
camp.notfound(/\.(svg|png|gif|jpg|json)/, function(query, match, end, request) {
|
||||
var format = match[1];
|
||||
var badgeData = getBadgeData("404", query);
|
||||
camp.notfound(/\.(svg|png|gif|jpg|json)/, (query, match, end, request) => {
|
||||
const format = match[1];
|
||||
const badgeData = getBadgeData("404", query);
|
||||
badgeData.text[1] = 'badge not found';
|
||||
badgeData.colorscheme = 'red';
|
||||
// Add format to badge data.
|
||||
@@ -106,7 +106,7 @@ camp.notfound(/\.(svg|png|gif|jpg|json)/, function(query, match, end, request) {
|
||||
makeSend(format, request.res, end)(svg);
|
||||
});
|
||||
|
||||
camp.notfound(/.*/, function(query, match, end, request) {
|
||||
camp.notfound(/.*/, (query, match, end, request) => {
|
||||
end(null, { template: '404.html' });
|
||||
});
|
||||
|
||||
@@ -122,14 +122,14 @@ camp.route(/^\/badge\/dynamic\/(json|xml|yaml)\.(svg|png|gif|jpg|json)$/,
|
||||
cache({
|
||||
queryParams: ['uri', 'url', 'query', 'prefix', 'suffix'],
|
||||
handler: function(query, match, sendBadge, request) {
|
||||
var type = match[1];
|
||||
var format = match[2];
|
||||
var prefix = query.prefix || '';
|
||||
var suffix = query.suffix || '';
|
||||
var pathExpression = query.query;
|
||||
var requestOptions = {};
|
||||
const type = match[1];
|
||||
const format = match[2];
|
||||
const prefix = query.prefix || '';
|
||||
const suffix = query.suffix || '';
|
||||
const pathExpression = query.query;
|
||||
let requestOptions = {};
|
||||
|
||||
var badgeData = getBadgeData('custom badge', query);
|
||||
const badgeData = getBadgeData('custom badge', query);
|
||||
|
||||
if (!query.uri && !query.url || !query.query){
|
||||
setBadgeColor(badgeData, 'red');
|
||||
@@ -138,8 +138,9 @@ cache({
|
||||
return;
|
||||
}
|
||||
|
||||
let url
|
||||
try {
|
||||
var url = encodeURI(decodeURIComponent(query.url || query.uri));
|
||||
url = encodeURI(decodeURIComponent(query.url || query.uri));
|
||||
} catch(e){
|
||||
setBadgeColor(badgeData, 'red');
|
||||
badgeData.text[1] = 'malformed url';
|
||||
@@ -183,18 +184,18 @@ cache({
|
||||
let innerText = [];
|
||||
switch (type){
|
||||
case 'json':
|
||||
data = (typeof data == 'object' ? data : JSON.parse(data));
|
||||
data = (typeof data === 'object' ? data : JSON.parse(data));
|
||||
data = jp.query(data, pathExpression);
|
||||
if (!data.length) {
|
||||
throw 'no result';
|
||||
throw Error('no result');
|
||||
}
|
||||
innerText = data;
|
||||
break;
|
||||
case 'xml':
|
||||
data = new dom().parseFromString(data);
|
||||
data = new DOMParser().parseFromString(data);
|
||||
data = xpath.select(pathExpression, data);
|
||||
if (!data.length) {
|
||||
throw 'no result';
|
||||
throw Error('no result');
|
||||
}
|
||||
data.forEach((i,v)=>{
|
||||
innerText.push(pathExpression.indexOf('@') + 1 ? i.value : i.firstChild.data);
|
||||
@@ -204,7 +205,7 @@ cache({
|
||||
data = yaml.safeLoad(data);
|
||||
data = jp.query(data, pathExpression);
|
||||
if (!data.length) {
|
||||
throw 'no result';
|
||||
throw Error('no result');
|
||||
}
|
||||
innerText = data;
|
||||
break;
|
||||
@@ -212,7 +213,7 @@ cache({
|
||||
badgeData.text[1] = (prefix || '') + innerText.join(', ') + (suffix || '');
|
||||
} catch (e) {
|
||||
setBadgeColor(badgeData, 'lightgrey');
|
||||
badgeData.text[1] = e;
|
||||
badgeData.text[1] = e.message;
|
||||
} finally {
|
||||
sendBadge(format, badgeData);
|
||||
}
|
||||
@@ -222,16 +223,16 @@ cache({
|
||||
|
||||
// Any badge.
|
||||
camp.route(/^\/(:|badge\/)(([^-]|--)*?)-?(([^-]|--)*)-(([^-]|--)+)\.(svg|png|gif|jpg)$/,
|
||||
function(data, match, end, ask) {
|
||||
var subject = escapeFormat(match[2]);
|
||||
var status = escapeFormat(match[4]);
|
||||
var color = escapeFormat(match[6]);
|
||||
var format = match[8];
|
||||
(data, match, end, ask) => {
|
||||
const subject = escapeFormat(match[2]);
|
||||
const status = escapeFormat(match[4]);
|
||||
const color = escapeFormat(match[6]);
|
||||
const format = match[8];
|
||||
|
||||
analytics.noteRequest(data, match);
|
||||
|
||||
// Cache management - the badge is constant.
|
||||
var cacheDuration = (3600*24*1)|0; // 1 day.
|
||||
const cacheDuration = (3600*24*1)|0; // 1 day.
|
||||
ask.res.setHeader('Cache-Control', 'max-age=' + cacheDuration);
|
||||
if (+(new Date(ask.req.headers['if-modified-since'])) >= +serverStartTime) {
|
||||
ask.res.statusCode = 304;
|
||||
@@ -242,7 +243,7 @@ function(data, match, end, ask) {
|
||||
|
||||
// Badge creation.
|
||||
try {
|
||||
var badgeData = getBadgeData(subject, data);
|
||||
const badgeData = getBadgeData(subject, data);
|
||||
badgeData.text[0] = getLabel(subject, data);
|
||||
badgeData.text[1] = status;
|
||||
badgeData.colorB = makeColorB(color, data);
|
||||
@@ -264,13 +265,13 @@ function(data, match, end, ask) {
|
||||
|
||||
// Production cache debugging.
|
||||
let bitFlip = false;
|
||||
camp.route(/^\/flip\.svg$/, function(data, match, end, ask) {
|
||||
var cacheSecs = 60;
|
||||
camp.route(/^\/flip\.svg$/, (data, match, end, ask) => {
|
||||
const cacheSecs = 60;
|
||||
ask.res.setHeader('Cache-Control', 'max-age=' + cacheSecs);
|
||||
var reqTime = new Date();
|
||||
var date = (new Date(+reqTime + cacheSecs * 1000)).toGMTString();
|
||||
const reqTime = new Date();
|
||||
const date = (new Date(+reqTime + cacheSecs * 1000)).toGMTString();
|
||||
ask.res.setHeader('Expires', date);
|
||||
var badgeData = getBadgeData('flip', data);
|
||||
const badgeData = getBadgeData('flip', data);
|
||||
bitFlip = !bitFlip;
|
||||
badgeData.text[1] = bitFlip? 'on': 'off';
|
||||
badgeData.colorscheme = bitFlip? 'brightgreen': 'red';
|
||||
@@ -280,13 +281,13 @@ camp.route(/^\/flip\.svg$/, function(data, match, end, ask) {
|
||||
|
||||
// Any badge, old version.
|
||||
camp.route(/^\/([^/]+)\/(.+).png$/,
|
||||
function(data, match, end, ask) {
|
||||
var subject = match[1];
|
||||
var status = match[2];
|
||||
var color = data.color;
|
||||
(data, match, end, ask) => {
|
||||
const subject = match[1];
|
||||
const status = match[2];
|
||||
const color = data.color;
|
||||
|
||||
// Cache management - the badge is constant.
|
||||
var cacheDuration = (3600*24*1)|0; // 1 day.
|
||||
const cacheDuration = (3600*24*1)|0; // 1 day.
|
||||
ask.res.setHeader('Cache-Control', 'max-age=' + cacheDuration);
|
||||
if (+(new Date(ask.req.headers['if-modified-since'])) >= +serverStartTime) {
|
||||
ask.res.statusCode = 304;
|
||||
@@ -297,7 +298,7 @@ function(data, match, end, ask) {
|
||||
|
||||
// Badge creation.
|
||||
try {
|
||||
var badgeData = { text: [subject, status] };
|
||||
const badgeData = { text: [subject, status] };
|
||||
badgeData.colorscheme = color;
|
||||
const svg = makeBadge(badgeData);
|
||||
makeSend('png', ask.res, end)(svg);
|
||||
|
||||
Reference in New Issue
Block a user