Last active
December 30, 2015 19:08
-
-
Save iwillwen/7871716 to your computer and use it in GitHub Desktop.
Revisions
-
iwillwen revised this gist
Dec 9, 2013 . 1 changed file with 16 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,5 +1,6 @@ var express = require('express'); var redis = require('redis'); var getRawBody = require('raw-body') var client = redis.createClient(); @@ -16,6 +17,19 @@ app.use(express.cookieParser('webjs')); app.use(express.session({ secret: 'webjs', maxAge: 5 * 60 * 1000 })); app.use(express.compiler({ enable: [ 'less' ] })); app.use(express.compress()); app.use(function(req, res, next) { getRawBody(req, { length: req.headers['content-length'], limit: '1mb', encoding: 'utf8' }, function (err, string) { if (err) return next(err) req.body = string next() }) }) app.get('/', function(req, res) { res.send('Hello World!'); @@ -43,7 +57,7 @@ app.get('/get/:key': function(req, res, next) { } }); app.put('/set/:key', function(req, res, next) { app.get('redisClient').set(req.params.key, req.body, function(err) { if (err) { return next(err); } @@ -61,7 +75,7 @@ app.post('/incr/:key', function(req, res, next) { }); }) app.post('/append/:key', function(req, res, next) { app.get('redisClient').append(req.params.key, req.body, function(err, length) { if (err) { return next(err); } -
iwillwen revised this gist
Dec 9, 2013 . 3 changed files with 183 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -20,7 +20,7 @@ web.run(process.argv[2] || 8080) web.cookieParser('webjs'), web.session({ secret: 'webjs', maxAge: 5 * 60 * 1000 }), web.compiler({ enable: [ 'less' ] }), web.compress(), function(req, res, next) { // Response Pipeline @@ -78,7 +78,6 @@ web.run(process.argv[2] || 8080) } }) .put('/set/:key', function(req, res) { web.meta('redisClient').set(req.params.key, req.body().toString() /* Raw body */, function(err) { if (err) { return res.sendError(err); This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,110 @@ var web = require('webjs'); var redis = require('redis'); var client = redis.createClient(); // express style var app = web.create(); app .config({ 'views': __dirname + '/views', 'view engine': 'ejs', // jade, etc. 'foo': 'bar', 'redisClient': client, 'readonly': false }) .use( // Faster Middleware '/static', web.static(__dirname + '/assets'), // Normal Middlewares web.query(), web.cookieParser('webjs'), web.session({ secret: 'webjs', maxAge: 5 * 60 * 1000 }), web.compiler({ enable: [ 'less' ] }), // web.compress(), function(req, res, next) { // Response Pipeline var startTime = process.hrtime(); res.on('pipelining', function() { var diff = process.hrtime(startTime); console.log( '%s %s - %d %s', req.method.toUpperCase(), req.url, res.statusCode, (diff[0] * 1e9 + diff[1]) / 1e6 + 'ms' ); }); next(); } ) .get({ '/': function(req, res) { res.send('Hello World!'); }, '/echo/:msg': function(req, res) { res.send(req.params.msg); }, '/view/:view': function(req, res) { res.render(req.params.view, { view: req.params.view }); // /view/foo => render /views/foo.ejs }, '/ping': function(req, res) { res.long(); (function loop(arr) { if (arr.length > 0) { res.send(arr.shift()); setTimeout(function() { loop(arr); }, 500); } else { res.end(); } })(['p', 'o', 'n', 'g', '!']); }, '/get/:key': function(req, res) { web.meta('redisClient').get(req.params.key, function(err, value) { if (err) { return res.sendError(err); } value = value || 'no such key'; res.send(value); }); } }) .put('/set/:key', function(req, res) { web.meta('redisClient').set(req.params.key, req.body().toString() /* Raw body */, function(err) { if (err) { return res.sendError(err); } res.send('OK'); }); }) .post({ '/incr/:key': function(req, res) { web.meta('redisClient').incr(req.params.key, function(err, currValue) { if (err) { return res.sendError(err); } res.send(currValue); }); }, '/append/:key': function(req, res) { web.meta('redisClient').append(req.params.key, req.body().toString(), function(err, length) { if (err) { return res.sendError(err); } res.send(length); }); } }) .listen(8080); This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,72 @@ var express = require('express'); var redis = require('redis'); var client = redis.createClient(); // express style var app = express.create(); app.set('views', __dirname + '/views'); app.set('view engine', 'ejs'); app.set('foo', 'bar'); app.set('redisClient', client); app.use('/static', express.static(__dirname + '/assets')); app.use(express.query()); app.use(express.cookieParser('webjs')); app.use(express.session({ secret: 'webjs', maxAge: 5 * 60 * 1000 })); app.use(express.compiler({ enable: [ 'less' ] })); app.use(express.compress()); app.get('/', function(req, res) { res.send('Hello World!'); }); app.get('/echo/:msg', function(req, res) { res.send(req.params.msg); }); app.get('/view/:view', function(req, res) { res.render(req.params.view, { view: req.params.view }); // /view/foo => render /views/foo.ejs }); app.get('/get/:key': function(req, res, next) { app.get('redisClient').get(req.params.key, function(err, value) { if (err) { return next(err); } value = value || 'no such key'; res.send(value); }); } }); app.put('/set/:key', function(req, res, next) { app.get('redisClient').set(req.params.key, req.body().toString() /* Raw body */, function(err) { if (err) { return next(err); } res.send('OK'); }); }); app.post('/incr/:key', function(req, res, next) { app.get('redisClient').incr(req.params.key, function(err, currValue) { if (err) { return next(err); } res.send(currValue); }); }) app.post('/append/:key', function(req, res, next) { app.get('redisClient').append(req.params.key, req.body().toString(), function(err, length) { if (err) { return next(err); } res.send(length); }); }); app.listen(8080); -
iwillwen revised this gist
Dec 9, 2013 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,7 +1,7 @@ var web = require('webjs'); var redis = require('redis'); var client = redis.createClient(); // webjs style web.run(process.argv[2] || 8080) -
iwillwen created this gist
Dec 9, 2013 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,109 @@ var web = require('webjs'); var redis = require('redis'); var client = redis.createClient(6379, '127.0.0.1'); // webjs style web.run(process.argv[2] || 8080) .config({ 'views': __dirname + '/views', 'view engine': 'ejs', // jade, etc. 'foo': 'bar', 'redisClient': client, 'readonly': false }) .use( // Faster Middleware '/static', web.static(__dirname + '/assets'), // Normal Middlewares web.query(), web.cookieParser('webjs'), web.session({ secret: 'webjs', maxAge: 5 * 60 * 1000 }), web.compiler({ enable: [ 'less' ] }), // web.compress(), function(req, res, next) { // Response Pipeline var startTime = process.hrtime(); res.on('pipelining', function() { var diff = process.hrtime(startTime); console.log( '%s %s - %d %s', req.method.toUpperCase(), req.url, res.statusCode, (diff[0] * 1e9 + diff[1]) / 1e6 + 'ms' ); }); next(); } ) .get({ '/': function(req, res) { res.send('Hello World!'); }, '/echo/:msg': function(req, res) { res.send(req.params.msg); }, '/view/:view': function(req, res) { res.render(req.params.view, { view: req.params.view }); // /view/foo => render /views/foo.ejs }, '/ping': function(req, res) { res.long(); (function loop(arr) { if (arr.length > 0) { res.send(arr.shift()); setTimeout(function() { loop(arr); }, 500); } else { res.end(); } })(['p', 'o', 'n', 'g', '!']); }, '/get/:key': function(req, res) { web.meta('redisClient').get(req.params.key, function(err, value) { if (err) { return res.sendError(err); } value = value || 'no such key'; res.send(value); }); } }) .put('/set/:key', function(req, res) { console.log(req); web.meta('redisClient').set(req.params.key, req.body().toString() /* Raw body */, function(err) { if (err) { return res.sendError(err); } res.send('OK'); }); }) .post({ '/incr/:key': function(req, res) { web.meta('redisClient').incr(req.params.key, function(err, currValue) { if (err) { return res.sendError(err); } res.send(currValue); }); }, '/append/:key': function(req, res) { web.meta('redisClient').append(req.params.key, req.body().toString(), function(err, length) { if (err) { return res.sendError(err); } res.send(length); }); } });