1 | # Compose Middleware
|
2 |
|
3 | [![NPM version][npm-image]][npm-url]
|
4 | [![NPM downloads][downloads-image]][downloads-url]
|
5 | [![Build status][travis-image]][travis-url]
|
6 | [![Test coverage][coveralls-image]][coveralls-url]
|
7 |
|
8 | > Compose an array of middleware into a single function for use in Express, Connect, router, etc.
|
9 |
|
10 | ## Installation
|
11 |
|
12 | ```sh
|
13 | npm install compose-middleware --save
|
14 | ```
|
15 |
|
16 | ## Usage
|
17 |
|
18 | Compose multiple middleware functions into a single request middleware handler, with support for inline error handling middleware.
|
19 |
|
20 | ```js
|
21 | var express = require('express')
|
22 | var compose = require('compose-middleware').compose
|
23 |
|
24 | var app = express()
|
25 |
|
26 | app.use(compose([
|
27 | function (req, res, next) {},
|
28 | function (err, req, res, next) {},
|
29 | function (req, res, next) {}
|
30 | ]))
|
31 | ```
|
32 |
|
33 | **P.S.** The composed function takes three arguments. Express.js (and Connect, router) only accept error handlers of four arguments. If you want to return an error handler from `compose` instead, try the `errors` export - it works exactly the same, but exposes the four argument middleware pattern.
|
34 |
|
35 | ## License
|
36 |
|
37 | MIT
|
38 |
|
39 | [npm-image]: https://img.shields.io/npm/v/compose-middleware.svg?style=flat
|
40 | [npm-url]: https://npmjs.org/package/compose-middleware
|
41 | [downloads-image]: https://img.shields.io/npm/dm/compose-middleware.svg?style=flat
|
42 | [downloads-url]: https://npmjs.org/package/compose-middleware
|
43 | [travis-image]: https://img.shields.io/travis/blakeembrey/compose-middleware.svg?style=flat
|
44 | [travis-url]: https://travis-ci.org/blakeembrey/compose-middleware
|
45 | [coveralls-image]: https://img.shields.io/coveralls/blakeembrey/compose-middleware.svg?style=flat
|
46 | [coveralls-url]: https://coveralls.io/r/blakeembrey/compose-middleware?branch=master
|