|
|
module.exports = function(set, app) { var keys = Object.keys(set.generators); for(var i = 0; i < keys.length; ++i) { var bindObj = {key: keys[i]}
app.get('/i/' + keys[i], (function (req, res) { var key = this.key; var gen = set.generators[key]; var agent = req.headers['user-agent']; var results = { genders: gen.genders, formats: {} };
var formatKeys = Object.keys(gen.formats); for(var j = 0; j < formatKeys.length; ++j) { var format = gen.formats[formatKeys[j]];
results.formats[formatKeys[j]] = format.name; }
if(agent.indexOf('curl/') != -1 || req.query.hasOwnProperty('t')) { var str = '';
for(var i = 0; i < results.genders.length; ++i) { if(i > 0) { str += '\n'; }
str += 'Gender: ' + results.genders[i]; }
var lastFormat = ""; for(var j = 0; j < formatKeys.length; ++j) { var formatKey = formatKeys[j].split('.')[0]; if(formatKey != lastFormat) { str += '\nFormat: ' + formatKey + ' ' + results.formats[formatKeys[j]]; }
lastFormat = formatKey; }
res.header("Content-Type", "text/plain; charset=utf-8"); res.end(str); } else { res.header("Content-Type", "application/json; charset=utf-8"); res.end(JSON.stringify(results)); }
}).bind(bindObj)); } }
|