diff --git a/lib/server-secrets.js b/lib/server-secrets.js new file mode 100644 index 0000000..1fc0640 --- /dev/null +++ b/lib/server-secrets.js @@ -0,0 +1,18 @@ +// Everything that cannot be checked in but is useful server-side is stored in +// a JSON data file: private/secret.json. + +const fs = require('fs'); +const path = require('path'); + +const secretsPath = path.join(__dirname, '..', 'private', 'secret.json'); + +if (fs.existsSync(secretsPath)) { + try { + module.exports = require(secretsPath); + } catch(e) { + console.error(`Error loading secret data: ${e.message}`); + process.exit(1); + } +} else { + console.warn(`No secret data found at ${secretsPath} (see lib/server-secrets.js)`); +} diff --git a/lib/suggest.js b/lib/suggest.js index ca041c5..5d804a5 100644 --- a/lib/suggest.js +++ b/lib/suggest.js @@ -1,13 +1,6 @@ var nodeUrl = require('url'); var request = require('request'); -var serverSecrets; -try { - // Everything that cannot be checked in but is useful server-side - // is stored in this JSON data. - serverSecrets = require('../private/secret.json'); -} catch(e) { - console.error('No secret data (private/secret.json, see server.js):', e); -} +var serverSecrets = require('./server-secrets'); // data: {url}, JSON-serializable object. // end: function(json), with json of the form: diff --git a/server.js b/server.js index dbeb7d9..3047d65 100644 --- a/server.js +++ b/server.js @@ -29,14 +29,7 @@ var loadLogos = require('./lib/load-logos.js'); var githubAuth = require('./lib/github-auth.js'); var querystring = require('querystring'); var xml2js = require('xml2js'); -var serverSecrets; -try { - // Everything that cannot be checked in but is useful server-side - // is stored in this JSON data. - serverSecrets = require('./private/secret.json'); -} catch(e) { - console.error('No secret data (private/secret.json, see server.js):', e); -} +var serverSecrets = require('./lib/server-secrets'); if (serverSecrets && serverSecrets.gh_client_id) { githubAuth.setRoutes(camp); }