Esempio n. 1
0
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));
		});
	});
});
Esempio n. 2
0
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
});
Esempio n. 3
0
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);
});
Esempio n. 4
0
File: db.js Progetto: sorribas/noted
var param = require('param');
var mongojs = require('mongojs');

var cols = ['users'];
var db = mongojs(param('mongo'), cols);

module.exports = function(id) {
  return db;
};
Esempio n. 5
0
		}, function(err, res) {
			if (err) return response.error(err);
			response.redirect('http://'+param('host')+'/search?q='+q+'&u='+string(res.body.login));
		});
Esempio n. 6
0
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;
Esempio n. 7
0
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;
Esempio n. 8
0
var mongojs = require('mongojs');
var param = require('param');
var db = mongojs(param('mongo'), ['modules', 'meta', 'users'], {authMechanism: 'ScramSHA1'});

module.exports = db;
Esempio n. 9
0
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);
Esempio n. 10
0
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);