app.get('/authorize', function(request, response) { var q = encodeURIComponent(string(request.query.q)); req.post('https://github.com/login/oauth/access_token', { headers: { 'User-Agent': 'node-modules.com' }, form: { client_id: param('github.client'), client_secret: param('github.secret'), code: request.query.code } }, function(err, res, body) { if (err) return response.error(err); req('https://api.github.com/user', { json:true, headers: { 'User-Agent': 'node-modules.com' }, qs: { access_token: qs.parse(body).access_token } }, function(err, res) { if (err) return response.error(err); response.redirect('http://'+param('host')+'/search?q='+q+'&u='+string(res.body.login)); }); }); });
app.listen(param('port'), function() { console.log('app running on http://'+param('host')); if (!param('autoupdate')) return; var loop = function() { setTimeout(update.bind(null, loop), 3600*1000); }; loop() // update every hour });
app.get('/personalize', function(request, response) { if (!param('github.secret')) return response.error(new Error('github secret is not configured')); var q = encodeURIComponent(string(request.query.q)); var url = 'https://github.com/login/oauth/authorize?'+qs.stringify({ client_id: param('github.client'), redirect_uri:'http://'+param('host')+'/authorize?q='+q }); response.redirect(url); });
var param = require('param'); var mongojs = require('mongojs'); var cols = ['users']; var db = mongojs(param('mongo'), cols); module.exports = function(id) { return db; };
}, function(err, res) { if (err) return response.error(err); response.redirect('http://'+param('host')+'/search?q='+q+'&u='+string(res.body.login)); });
var pejs = require('pejs'); var send = require('send'); var cookie = require('cookie'); var param = require('param'); var fs = require('fs'); var req = require('request'); var qs = require('querystring'); var JSONStream = require('JSONStream'); var pump = require('pump'); var modules = require('./modules'); var users = require('./users'); var update = require('./update'); var COOKIE_MAX_AGE = 31 * 24 * 3600 * 1000; // 1 month var FINGERPRINT_MAX_AGE = 365 * 24 * 3600; var FINGERPRINT = param('fingerprint') && param('fingerprint').toString().trim(); var app = root(); var string = function(str) { return str ? str+'' : ''; }; var fingerprint = function(url) { return FINGERPRINT ? 'http://dzdv0sfntaeum.cloudfront.net/'+FINGERPRINT+url : url; }; pejs.compress = true; app.use('response.render', function(filename, locals) { var response = this;
var request = require('request'); var ForeverAgent = require('forever-agent'); var param = require('param'); var level = require('./level'); var GITHUB_USER = {client_id:param('github.client'), client_secret:param('github.secret')}; var GITHUB_URL = /^https:\/\/api.github.com/; var HTTP_URL = /^http:/; var AGENT_SSL = new ForeverAgent.SSL(); var githubRequest = request.defaults({ qs: GITHUB_USER, agent: AGENT_SSL }); var httpRequest = request.defaults({ agent: new ForeverAgent() }); var matchRequest = function(url) { if (GITHUB_URL.test(url)) return githubRequest; if (HTTP_URL.test(url)) return httpRequest; return request; }; module.exports = function(url, opts, callback) { if (typeof opts === 'function') return module.exports(url, {}, opts); level.etags.get(url, function(_, data) { if (opts.force) data = null;
var mongojs = require('mongojs'); var param = require('param'); var db = mongojs(param('mongo'), ['modules', 'meta', 'users'], {authMechanism: 'ScramSHA1'}); module.exports = db;
var root = require('root'); var session = require('noted-session'); var getdb = require('noted-db'); var seaport = require('seaport'); var param = require('param'); var ports = seaport.connect(param('registry.host'), param('registry.port')); var app = root(); var templates = {}; app.use('response.session', session.set); app.use('request.session', session.get); app.use('request.userId', function() { return this.session('user'); }); app.get('/api/notes', function(req, res) { var db = getdb(req.userId()); db.notes.find({notebook_id: db.ObjectId(req.query.notebookId)}).sort({updated: -1}, function(err, notes) { if (err) return res.error(500, err.toString()); res.send(notes); }); }); app.put('/api/notes/{id}', function(req, res) { var db = getdb(req.userId()); req.on('json', function(note) { note._id = db.ObjectId(req.params.id); note.notebook_id = db.ObjectId(note.notebook_id);
var protocol = require('hms-protocol'); var parse = require('hms/lib/parse-remote'); var path = require('path'); var proc = require('child_process'); var fs = require('fs'); var xtend = require('xtend'); var pingable = require('pingable'); var os = require('os'); var once = require('once'); var JSONStream = require('JSONStream'); var param = require('param'); var split = require('split'); var concat = require('concat-stream'); var winston = require('winston'); var logfile = param("logfile"); if (logfile) { winston.add(winston.transports.File, { filename: logfile, maxsize: 5242880, maxFiles: 10}); } process.stdout.setMaxListeners(0); process.stderr.setMaxListeners(0); var help = param('help'); if (help) { winston.info("Helps stuff"); process.exit(0); } var winstonStream = split(function(message) { winston.info(message);