koa middleware that stores exactly one previous page for further redirection.
npm install astepback
Koa 2(Node >= 0.12.0)
koa-session
var asb = require('astepback');
var koa = require('koa');
var session = require('koa-session');
var bodyParser = require('koa-bodyparser');
var server = koa();
server.use(bodyParser());
server.use(session(server));
server.keys = ['heavenduke'];
server.use(asb());
server.get('/previous', function *(next) {
// store current url into asb object.
this.asb = this.request.url;
this.body = {title: "previous"};
});
server.get('/current', function *(next) {
// redirect to stored previous path.
this.redirect(this.asb);
});
The default value of this.asb is /
which is usually the default path of a website, it also use session['koa-asb']
as default storage, you can reset the default path and session key through the following method:
server.use(asb({
key: "foo", // session storage key
defaultPath: "/foo" // default redirection path
}));