/astepback

koa middleware that stores exactly one previous page for further redirection.

Primary LanguageJavaScriptMIT LicenseMIT

astepback

koa middleware that stores exactly one previous page for further redirection.

NPM version build status npm download dependencies Coverage Status

Install

npm install astepback

dependencies

Koa 2(Node >= 0.12.0)
koa-session

Configuration

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());

Usage

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);
});

Notice

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
}));

License

MIT