Fork/Branch changes
- The
flash
object is removed from the session
if it is empty. This allows to use this module with the express-session
module with the saveUninitialized
setting set to false
. - Published as npm package
@avaly/connect-flash
connect-flash
The flash is a special area of the session used for storing messages. Messages
are written to the flash and cleared after being displayed to the user. The
flash is typically used in combination with redirects, ensuring that the message
is available to the next page that is to be rendered.
This middleware was extracted from Express 2.x, after
Express 3.x removed direct support for the flash. connect-flash brings this
functionality back to Express 3.x, as well as any other middleware-compatible
framework or application. +1 for radical reusability.
Install
$ npm install --save @avaly/connect-flash
Usage
Express 3.x
Flash messages are stored in the session. First, setup sessions as usual by
enabling cookieParser
and session
middleware. Then, use flash
middleware
provided by connect-flash.
var flash = require('connect-flash');
var app = express();
app.configure(function() {
app.use(express.cookieParser('keyboard cat'));
app.use(express.session({ cookie: { maxAge: 60000 }}));
app.use(flash());
});
With the flash
middleware in place, all requests will have a req.flash()
function
that can be used for flash messages.
app.get('/flash', function(req, res){
req.flash('info', 'Flash is back!')
res.redirect('/');
});
app.get('/', function(req, res){
res.render('index', { messages: req.flash('info') });
});
Examples
For an example using connect-flash in an Express 3.x app, refer to the express3
example.
Tests
$ npm install --dev
$ make test
Credits
License
The MIT License
Copyright (c) 2012-2013 Jared Hanson <http://jaredhanson.net/>