Skip to content

Middleware for Koa 2, that sets the state of the context i every request, with the values you pass.

Notifications You must be signed in to change notification settings

bjufre/koa-setincontext

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

koa-setincontext

Flexible middleware for Koa 2 that lets you set properties to the ctx.state for every request.

This is particulary useful when you have dynamic properties which value may change on every request.

Installation

$ npm install koa-setincontext --save

Examples

Simple usage:

import Koa from 'koa';
import setInContext from 'koa-setincontext';

const app = new Koa();
const events = ['one', 'two', 'three'];

app.use(setInContext('events', events));

app.use(async (ctx, next) => {
    console.log(ctx.state.events) // => ['one', 'two', 'three']
    return await next();
})

With an object

import Koa from 'koa';
import setInContext from 'koa-setincontext';

const app = new Koa();
const events = ['one', 'two', 'three'];

app.use(setInContext({
    name: 'events',
    value: events
}));

app.use(async (ctx, next) => {
    console.log(ctx.state.events) // => ['one', 'two', 'three']
    return await next();
})

With an array of objects:

import Koa from 'koa';
import setInContext from 'koa-setincontext';

const app = new Koa();
const events = ['one', 'two', 'three'];

app.use(setInContext([
    {
        name: 'another',
        value: 'awesome'
    },
    {
        name: 'events',
        value: events
    }
]));

app.use(async (ctx, next) => {
    console.log(ctx.state.another) // => 'awesome'
    console.log(ctx.state.events) // => ['one', 'two', 'three']
    return await next();
})

About

Middleware for Koa 2, that sets the state of the context i every request, with the values you pass.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published