Failed Conditions
Push — master ( 01204b...ec55bf )
by Yo
01:43
created

handlerWrapper.js ➔ ... ➔ ???   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 4
Bugs 0 Features 0
Metric Value
cc 1
c 4
b 0
f 0
nc 1
nop 1
dl 0
loc 7
rs 9.4285
1
"use strict";
2
3
const logger = require('../logger/taskLogger')('Routing');
4
const transformers = require('./transformers');
5
6
module.exports = (name, handler) => (request, reply) => {
7
    const promise = new Promise(resolve => {
8
        request = transformers.in(request);
9
10
        logger.info(`[${name.toUpperCase()}][Request]`, {request});
11
12
        resolve(handler(request));
13
    })
14
        .then(response => {
15
            logger.info(`[${name.toUpperCase()}][Response]`, {response});
16
17
            return response;
18
        })
19
    ;
20
21
    return promise.then(response => {
22
        reply({result: transformers.out(response)}).type('application/json');
23
    })
24
        .catch(error => {
25
            // Reply with an error
26
            logger.error(error.stack);
27
            reply({error: error.message}).type('application/json').code(500);
28
29
            return Promise.resolve();
30
        })
31
    ;
32
};
33