1.0.5 • Published 3 years ago

@valbo/async-middleware v1.0.5

Weekly downloads
67
License
MIT
Repository
github
Last release
3 years ago

@valbo/async-middleware

Use async middlewares with express.

npm (scoped) semantic-release Build Status Coverage Status Known Vulnerabilities

Install

npm install @valbo/async-middleware

Usage

Exports wrappers that allows you to use async functions as express middlewares. If the wrapped middlewares throw, the error will be catched and passed to next().

import express, { Request, Response, NextFunction } from 'express';
import { asyncMiddleware, asyncErrorMiddleware, AsyncRequestHandler, AsyncErrorRequestHandler } from '@valbo/async-middleware';

const getUser: AsyncRequestHandler = async (request: Request, response: Response, next: NextFunction): Promise<void> => {
  response.locals.user = await database.getUser();
  next();
};

const errorHandler: AsyncErrorRequestHandler = async (error: any, request: Request, response: Response, next: NextFunction): Promise<void> => {
  if (error.report) {
    await remoteAlerts.report(error);
  }
  response.status(error.status);
  response.json({ error: { status: error.status, name: error.name, message: error.message } });
};

const app = express();

app.use(asyncMiddleware(getUser));
app.use(asyncErrorMiddleware(errorHandler));
1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago