diff --git a/examples/basicAuth.js b/examples/basicAuth.js deleted file mode 100644 index 514407bc1..000000000 --- a/examples/basicAuth.js +++ /dev/null @@ -1,35 +0,0 @@ - -/** - * Module dependencies. - */ - -var connect = require('../'); - -function auth(user, pass) { - return 'tj' == user && 'tobi' == pass; -} - -function authorized(req, res) { - res.end('authorized!'); -} - -function hello(req, res) { - res.end('hello! try /admin'); -} - -// apply globally - -connect( - connect.basicAuth(auth) - , authorized -).listen(3000); - -// apply to /admin/* only - -var server = connect(); - -server.use('/admin', connect.basicAuth(auth)); -server.use('/admin', authorized); -server.use(hello); - -server.listen(3001); \ No newline at end of file diff --git a/examples/cookieSession.js b/examples/cookieSession.js deleted file mode 100644 index 1cb6cdc25..000000000 --- a/examples/cookieSession.js +++ /dev/null @@ -1,41 +0,0 @@ - -var connect = require('../') - , http = require('http'); - -var app = connect() - .use(connect.logger('dev')) - .use(connect.bodyParser()) - .use(connect.cookieParser()) - .use(connect.cookieSession({ secret: 'some secret' })) - .use(post) - .use(clear) - .use(counter); - -function clear(req, res, next) { - if ('/clear' != req.url) return next(); - req.session = null; - res.statusCode = 302; - res.setHeader('Location', '/'); - res.end(); -} - -function post(req, res, next) { - if ('POST' != req.method) return next(); - req.session.name = req.body.name; - next(); -} - -function counter(req, res) { - req.session.count = req.session.count || 0; - var n = req.session.count++; - var name = req.session.name || 'Enter your name'; - res.end('
hits: ' + n + '
' - + '' - + ''); -} - -http.createServer(app).listen(3000); -console.log('Server listening on port 3000'); diff --git a/examples/csrf.js b/examples/csrf.js deleted file mode 100644 index 8c54c139f..000000000 --- a/examples/csrf.js +++ /dev/null @@ -1,36 +0,0 @@ - -/** - * Module dependencies. - */ - -var connect = require('../') - , http = require('http'); - -var form = '\n\ - \n\ -'; - -var app = connect() - .use(connect.cookieParser()) - .use(connect.session({ secret: 'keyboard cat' })) - .use(connect.bodyParser()) - .use(connect.csrf()) - .use(function(req, res, next){ - if ('POST' != req.method) return next(); - req.session.user = req.body.user; - next(); - }) - .use(function(req, res){ - res.setHeader('Content-Type', 'text/html'); - var body = form - .replace('{token}', req.csrfToken()) - .replace('{user}', req.session.user && req.session.user.name || ''); - res.end(body); - }); - -http.createServer(app).listen(3000); -console.log('Server listening on port 3000'); diff --git a/examples/directory.js b/examples/directory.js deleted file mode 100644 index 227384762..000000000 --- a/examples/directory.js +++ /dev/null @@ -1,12 +0,0 @@ - -/** - * Module dependencies. - */ - -var connect = require('../'); -var app = connect(); -var path = __dirname + '/../'; - -app.use(connect.directory(path, { icons: true })) -app.use(connect.static(path)) -app.listen(3000); diff --git a/examples/error.js b/examples/error.js deleted file mode 100644 index a750c5e86..000000000 --- a/examples/error.js +++ /dev/null @@ -1,19 +0,0 @@ - -var connect = require('../') - , http = require('http'); - -// try: -// - viewing in a browser -// - curl http://localhost:3000 -// - curl -H "Accept: application/json" http://localhost:3000 - -var app = connect() - .use(function(req, res, next){ - var err = new Error('oh noes!'); - err.number = 7; - throw err; - }) - .use(connect.errorHandler()); - -http.Server(app).listen(3000); -console.log('Server started on port 3000'); diff --git a/examples/favicon.js b/examples/favicon.js deleted file mode 100644 index 6305b2021..000000000 --- a/examples/favicon.js +++ /dev/null @@ -1,12 +0,0 @@ - -/** - * Module dependencies. - */ - -var connect = require('../'); - -// $ curl -i http://localhost:3000/favicon.ico - -connect.createServer( - connect.favicon() -).listen(3000); \ No newline at end of file diff --git a/examples/helloworld.js b/examples/helloworld.js deleted file mode 100644 index 3a0240c05..000000000 --- a/examples/helloworld.js +++ /dev/null @@ -1,12 +0,0 @@ - -/** - * Module dependencies. - */ - -var connect = require('../'); - -connect.createServer(function(req, res){ - var body = 'Hello World'; - res.setHeader('Content-Length', body.length); - res.end(body); -}).listen(3000); \ No newline at end of file diff --git a/examples/logger.fast.js b/examples/logger.fast.js deleted file mode 100644 index 3ddb7c8d6..000000000 --- a/examples/logger.fast.js +++ /dev/null @@ -1,14 +0,0 @@ - -/** - * Module dependencies. - */ - -var connect = require('../'); - -// $ curl -i http://localhost:3000/favicon.ico -// true defaults to 1000ms - -connect.createServer( - connect.logger({ buffer: 5000 }) - , connect.favicon() -).listen(3000); \ No newline at end of file diff --git a/examples/logger.format.js b/examples/logger.format.js deleted file mode 100644 index c30a484d4..000000000 --- a/examples/logger.format.js +++ /dev/null @@ -1,62 +0,0 @@ - -/** - * Module dependencies. - */ - -var connect = require('../'); - -// $ curl http://localhost:3000/ - -// custom format string - -connect.createServer( - connect.logger(':method :url - :res[content-type]') - , function(req, res){ - res.statusCode = 500; - res.setHeader('Content-Type', 'text/plain'); - res.end('Internal Server Error'); - } -).listen(3000); - -// $ curl http://localhost:3001/ -// $ curl http://localhost:3001/302 -// $ curl http://localhost:3001/404 -// $ curl http://localhost:3001/500 - -connect() - .use(connect.logger('dev')) - .use('/connect', connect.static(__dirname + '/lib')) - .use('/connect', connect.directory(__dirname + '/lib')) - .use(function(req, res, next){ - switch (req.url) { - case '/500': - var body = 'Internal Server Error'; - res.statusCode = 500; - res.setHeader('Content-Length', body.length); - res.end(body); - break; - case '/404': - var body = 'Not Found'; - res.statusCode = 404; - res.setHeader('Content-Length', body.length); - res.end(body); - break; - case '/302': - var body = 'Found'; - res.statusCode = 302; - res.setHeader('Content-Length', body.length); - res.end(body); - break; - default: - var body = 'OK'; - res.setHeader('Content-Length', body.length); - res.end(body); - } - }) - .listen(3001); - -// pre-defined - -connect() - .use(connect.logger('short')) - .listen(3002); \ No newline at end of file diff --git a/examples/logger.js b/examples/logger.js deleted file mode 100644 index 33df13066..000000000 --- a/examples/logger.js +++ /dev/null @@ -1,14 +0,0 @@ - -/** - * Module dependencies. - */ - -var connect = require('../'); - -// $ curl http://localhost:3000/favicon.ico - -connect.createServer( - connect.logger() - , connect.favicon() -).listen(3000); - diff --git a/examples/mounting.js b/examples/mounting.js deleted file mode 100644 index 3506bf7ff..000000000 --- a/examples/mounting.js +++ /dev/null @@ -1,33 +0,0 @@ - -/** - * Module dependencies. - */ - -var connect = require('../'); - -var blog = connect( - connect.router(function(app){ - app.get('/', function(req, res){ - res.end('list blog posts. try /post/0'); - }); - - app.get('/post/:id', function(req, res){ - res.end('got post ' + req.params.id); - }); - }) -); - -var admin = connect( - connect.basicAuth(function(user, pass){ return 'tj' == user && 'tobi' == pass }) - , function(req, res){ - res.end('admin stuff'); - } -); - -connect() - .use('/admin', admin) - .use('/blog', blog) - .use(function(req, res){ - res.end('try /blog, /admin, or /blog/post/0'); - }) - .listen(3000); \ No newline at end of file diff --git a/examples/profiler.js b/examples/profiler.js deleted file mode 100644 index 5e5803aef..000000000 --- a/examples/profiler.js +++ /dev/null @@ -1,17 +0,0 @@ - -/** - * Module dependencies. - */ - -var connect = require('../'); - -// $ curl -i http://localhost:3000/ - -connect( - connect.profiler() - , connect.favicon() - , connect.static(__dirname) - , function(req, res, next){ - res.end('hello world'); - } -).listen(3000); diff --git a/examples/public/tobi.jpeg b/examples/public/tobi.jpeg deleted file mode 100644 index 0d61e3461..000000000 Binary files a/examples/public/tobi.jpeg and /dev/null differ diff --git a/examples/rollingSession.js b/examples/rollingSession.js deleted file mode 100644 index 0c2e32cc1..000000000 --- a/examples/rollingSession.js +++ /dev/null @@ -1,64 +0,0 @@ - -var connect = require('../') -var http = require('http'); - -var hour = 60 * 60 * 1000; - -// maxAge session without the rolling option -// it doesn't update the maxAge value - -http.createServer(connect() - .use(connect.cookieParser()) - .use(connect.session({ secret : 'keyboard cat', - key : 'NoRolling.sid', - cookie : { maxAge: hour }})) - .use(connect.favicon()) - .use(clear) - .use(change) - .use(counter) - ).listen(3000); -console.log('port 3000: without rolling, session CANNOT be changed to browser session'); - -// maxAge session with the rolling option -// it always updates the maxAge value - -http.createServer(connect() - .use(connect.cookieParser()) - .use(connect.session({ secret : 'keyboard cat', - key : 'Rolling.sid', - cookie : { maxAge: hour }, - rolling : true})) - .use(connect.favicon()) - .use(clear) - .use(change) - .use(counter) - ).listen(3001); -console.log('port 3001: with rolling, session CAN be changed to browser session'); - -function clear(req, res, next) { - if ('/clear' != req.url) return next(); - req.session.regenerate(function(err){}); - res.statusCode = 302; - res.setHeader('Location', '/'); - res.end(); -} -function change(req, res, next) { - if ('/change' != req.url) return next(); - req.session.cookie.maxAge = req.session.cookie.maxAge ? null : hour; - res.statusCode = 302; - res.setHeader('Location', '/'); - res.end(); -} -function counter(req, res) { - req.session.count = req.session.count || 0; - var n = req.session.count++; - var expiration = req.session.cookie.maxAge - ? req.session.cookie.maxAge + "msec" - : "browser session"; - res.end('Expiration: ' + expiration + '
' - + 'Hits: ' + n + '
' - + '' - + (req.session.cookie.maxAge - ? '' - : '')); -} diff --git a/examples/session.js b/examples/session.js deleted file mode 100644 index 3db8a59ef..000000000 --- a/examples/session.js +++ /dev/null @@ -1,198 +0,0 @@ - -var connect = require('../') - , http = require('http'); - -var year = 31557600000; - -// large max-age, delegate expiry to the session store. -// for example with connect-redis's .ttl option. - -http.createServer(connect() - .use(connect.cookieParser()) - .use(connect.session({ secret: 'keyboard cat', cookie: { maxAge: year }})) - .use(connect.favicon()) - .use(function(req, res, next){ - var sess = req.session; - if (sess.views) { - sess.views++; - res.setHeader('Content-Type', 'text/html'); - res.write('views: ' + sess.views + '
'); - res.write('expires in: ' + (sess.cookie.maxAge / 1000) + 's
'); - res.end(); - } else { - sess.views = 1; - res.end('welcome to the session demo. refresh!'); - } - })).listen(3007); - -console.log('port 3007: 1 minute expiration demo'); - - -// expire sessions within a minute -// /favicon.ico is ignored, and will not -// receive req.session - -http.createServer(connect() - .use(connect.cookieParser()) - .use(connect.session({ secret: 'keyboard cat', cookie: { maxAge: 60000 }})) - .use(connect.favicon()) - .use(function(req, res, next){ - var sess = req.session; - if (sess.views) { - sess.views++; - res.setHeader('Content-Type', 'text/html'); - res.write('views: ' + sess.views + '
'); - res.write('expires in: ' + (sess.cookie.maxAge / 1000) + 's
'); - res.end(); - } else { - sess.views = 1; - res.end('welcome to the session demo. refresh!'); - } - })).listen(3006); - -console.log('port 3006: 1 minute expiration demo'); - -// $ npm install connect-redis - -try { - var RedisStore = require('connect-redis')(connect); - http.createServer(connect() - .use(connect.cookieParser()) - .use(connect.session({ - secret: 'keyboard cat', - cookie: { maxAge: 60000 * 3 } - , store: new RedisStore - })) - .use(connect.favicon()) - .use(function(req, res, next){ - var sess = req.session; - if (sess.views) { - sess.views++; - res.setHeader('Content-Type', 'text/html'); - res.end('views: ' + sess.views + '
'); - } else { - sess.views = 1; - res.end('welcome to the redis demo. refresh!'); - } - })).listen(3001); - - console.log('port 3001: redis example'); -} catch (err) { - console.log('\033[33m'); - console.log('failed to start the Redis example.'); - console.log('to try it install redis, start redis'); - console.log('install connect-redis, and run this'); - console.log('script again.'); - console.log(' $ redis-server'); - console.log(' $ npm install connect-redis'); - console.log('\033[0m'); -} - -// conditional session support by simply -// wrapping middleware with middleware. - -var sess = connect.session({ secret: 'keyboard cat', cookie: { maxAge: 5000 }}); - -http.createServer(connect() - .use(connect.cookieParser()) - .use(function(req, res, next){ - if ('/foo' == req.url || '/bar' == req.url) { - sess(req, res, next); - } else { - next(); - } - }) - .use(connect.favicon()) - .use(function(req, res, next){ - res.end('has session: ' + (req.session ? 'yes' : 'no')); - })).listen(3002); - -console.log('port 3002: conditional sessions'); - -// Session#reload() will update req.session -// without altering .maxAge - -// view the page several times, and see that the -// setInterval can still gain access to new -// session data - -http.createServer(connect() - .use(connect.cookieParser()) - .use(connect.session({ secret: 'keyboard cat', cookie: { maxAge: 60000 }})) - .use(connect.favicon()) - .use(function(req, res, next){ - var sess = req.session - , prev; - - if (sess.views) { - res.setHeader('Content-Type', 'text/html'); - res.write('views: ' + sess.views + '
'); - res.write('expires in: ' + (sess.cookie.maxAge / 1000) + 's
'); - sess.views++; - res.end(); - } else { - sess.views = 1; - setInterval(function(){ - sess.reload(function(){ - console.log(); - if (prev) console.log('previous views %d, now %d', prev, req.session.views); - console.log('time remaining until expiry: %ds', (req.session.cookie.maxAge / 1000)); - prev = req.session.views; - }); - }, 3000); - res.end('welcome to the session demo. refresh!'); - } - })).listen(3003); - -console.log('port 3003: Session#reload() demo'); - -// by default sessions -// last the duration of -// a user-agent's own session, -// aka while the browser is open. - -http.createServer(connect() - .use(connect.cookieParser()) - .use(connect.session({ secret: 'keyboard cat' })) - .use(connect.favicon()) - .use(function(req, res, next){ - var sess = req.session; - if (sess.views) { - res.setHeader('Content-Type', 'text/html'); - res.write('views: ' + sess.views + '
'); - res.end(); - sess.views++; - } else { - sess.views = 1; - res.end('welcome to the browser session demo. refresh!'); - } - })).listen(3004); - -console.log('port 3004: browser-session length sessions'); - -// persistence example, enter your name! - -http.createServer(connect() - .use(connect.bodyParser()) - .use(connect.cookieParser()) - .use(connect.session({ secret: 'keyboard cat' })) - .use(connect.favicon()) - .use(function(req, res, next){ - if ('POST' != req.method) return next(); - req.session.name = req.body.name; - res.statusCode = 302; - res.setHeader('Location', '/'); - res.end(); - }) - .use(function(req, res, next){ - var sess = req.session; - res.setHeader('Content-Type', 'text/html'); - if (sess.name) res.write('Hey ' + sess.name + '!
'); - else res.write('Enter a username:
'); - res.end(''); - })).listen(3005); - -console.log('port 3005: browser-session length sessions persistence example'); diff --git a/examples/static.js b/examples/static.js deleted file mode 100644 index cf5c22528..000000000 --- a/examples/static.js +++ /dev/null @@ -1,14 +0,0 @@ - -/** - * Module dependencies. - */ - -var connect = require('../'); - -connect( - connect.static(__dirname + '/public', { maxAge: 0 }) - , function(req, res) { - res.setHeader('Content-Type', 'text/html'); - res.end('