index.js
741 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
'use strict'
/*!
* morgan
* Copyright(c) 2010 Sencha Inc.
* Copyright(c) 2011 TJ Holowaychuk
* Copyright(c) 2014 Jonathan Ong
* Copyright(c) 2014 Douglas Christopher Wilson
* Copyright(c) 2015 Fangdun Cai
* MIT Licensed
*/
/**
* Module dependencies.
*/
const originalMorgan = require('morgan')
/**
* Expose `morgan`.
*/
module.exports = morgan
morgan.compile = originalMorgan.compile
morgan.format = originalMorgan.format
morgan.token = originalMorgan.token
function morgan(format, options) {
const fn = originalMorgan(format, options)
return (ctx, next) => {
return new Promise((resolve, reject) => {
fn(ctx.req, ctx.res, (err) => {
err ? reject(err) : resolve(ctx)
})
}).then(next)
}
}