lib/server/handlerWrapper.js   A
last analyzed

Complexity

Total Complexity 6
Complexity/F 1

Size

Lines of Code 31
Function Count 6

Duplication

Duplicated Lines 0
Ratio 0 %

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 0
c 1
b 0
f 0
nc 1
dl 0
loc 31
ccs 0
cts 14
cp 0
crap 0
rs 10
wmc 6
mnd 0
bc 5
fnc 6
bpm 0.8333
cpm 1
noi 0

1 Function

Rating   Name   Duplication   Size   Complexity  
B handlerWrapper.js ➔ ??? 0 26 1
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
        logger.info(`[${name.toUpperCase()}][Request]`, {request});
10
11
        resolve(handler(request));
12
    })
13
        .then(response => {
14
            logger.info(`[${name.toUpperCase()}][Response]`, {response});
15
16
            return response;
17
        })
18
    ;
19
20
    return promise.then(response => {
21
        reply({result: transformers.out(response)}).type('application/json');
22
    })
23
        .catch(error => {
24
            // Reply with an error
25
            logger.error(error.stack);
26
            reply({error: error.message}).type('application/json').code(500);
27
28
            return Promise.resolve();
29
        })
30
    ;
31
};
32