From c04d52da734deb6015aae2604408f14eaf327d68 Mon Sep 17 00:00:00 2001 From: Thaddee Tyl Date: Fri, 3 Jan 2014 23:49:05 +0100 Subject: [PATCH] Proper escaping for the web service. --- server.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/server.js b/server.js index 0fe4b3b..5f8c3c1 100644 --- a/server.js +++ b/server.js @@ -6,7 +6,13 @@ var badge = require('./badge.js'); // Escapes `t` using the format specified in // function escapeFormat(t) { - return t.replace('_', ' ').replace('__', '_').replace('--', '-'); + return t + // Inline single underscore. + .replace(/([^_])_([^_])/g, '$1 $2') + // Leading or trailing underscore. + .replace(/([^_])_$/, '$1 ').replace(/^_([^_])/, ' $1') + // Double underscore and double dash. + .replace(/__/g, '_').replace(/--/g, '-'); } camp.route(/^\/(([^-]|--)+)-(([^-]|--)+)-(([^-]|--)+).svg$/,