express-ctx
TypeScript icon, indicating that this package has built-in type declarations

0.1.1 • Public • Published

express-ctx

npm Travis (.org) Coverage Status

express context based on async_hooks without getting lost context

Install

npm i express-ctx

Usage

const express = require('express');
const { middleware, setValue, getValue } = require('express-ctx');
const usersRepository = require('./usersRepository'); // some your services
 
const app = express();
 
app.use(middleware); // must be set before using setValue/getValue
 
app.use((req, res, next) => {
  usersRepository.findOne(req.session.id).then(user => {
    setValue('user', user);
    next();
  });
});
 
app.use((req, res, next) => {
  const user = getValue('user');
  res.json(user);
});
 

Other libs

As for now such libraries as express-http-context and express-cls-hooked do not bind req and res to namespace, so there could be troubles with middlewares based on emitting events. So this lib binds.

Dependencies (1)

Dev Dependencies (7)

Package Sidebar

Install

npm i express-ctx

Weekly Downloads

13,014

Version

0.1.1

License

MIT

Unpacked Size

49.3 kB

Total Files

17

Last publish

Collaborators

  • iamolegga