// Runs after each requests app.use((req, res, next) => { const responseTimeInMs = Date.now() - res.locals.startEpoch httpRequestDurationMicroseconds .labels(req.method, req.route.path, res.statusCode) .observe(responseTimeInMs) next() })
router.post('/navtiming', jsonParser, (req, res, next) => { const pu = new puUtils.PUClass(req.body, req.route.path); validateSchema('navtiming', req, pu); pu.handler((err, returnJSON) => { if (err) { pu.saveError(err, req); return next(err); } res.json(returnJSON); }); });
// Middleware function to count total requests and the request duration for a given method app.use((req, res, next) => { res.locals.startTime = Date.now() next() Metrics.get("http_requests_total") .labels(req.method, req.route.path, res.statusCode) .inc() const responseTimeMS = Date.now() - res.locals.startTime Metrics.get("http_duration_histogram_seconds") .labels(req.method, req.route.path, res.statusCode) .observe(responseTimeMS/1000) })
app.use(function(req, res, next) { console.log( (req && req.method) + ":\n" + (req && req.body) + " " + (req && req.route) ); next(); });
logger.debug(req.route.path); if ( req.route.path.split('/')[1] === "list" ) { logger.debug( `listing keywords...` ); res.send( `${ fileJSON.keywords.join(`\n`) }` ); else if ( req.route.path.split('/')[1] === "add" ) { logger.debug( `appending keywords...` ); fileJSON.keywords.push( req.params.keywords ); res.send( `${ fileJSON.keywords.join(`\n`) }` ); else if ( req.route.path.split( '/' )[1] === "remove" ) { const foundIndex = fileJSON.keywords.findIndex( ( keyword ) => { return keyword === req.params.keywords;
router.post('/resources', jsonParser, (req, res, next) => { const pu = new puUtils.PUClass(req.body, req.route.path); validateSchema('resources', req, pu); pu.getResources(req, (err, returnJSON) => { if (err) { err.status = 500; return next(err); } res.json(returnJSON); }); });
router.post('/injectjs', jsonParser, (req, res, next) => { const pu = new puUtils.PUClass(req.body, req.route.path); validateSchema('injectjs', req, pu); pu.getInjectJS(req, (err, returnJSON) => { if (err) { pu.saveError(err, req); return next(err); } res.json(returnJSON); }); });
router.post('/apitiming', jsonParser, (req, res, next) => { const pu = new puUtils.PUClass(req.body, req.route.path); validateSchema('apitiming', req, pu); pu.handler((err, returnJSON) => { if (err) { pu.saveError(err, req); return next(err); } res.json(returnJSON); }); });
router.post('/usertiming', jsonParser, (req, res, next) => { const pu = new puUtils.PUClass(req.body, req.route.path); validateSchema('usertiming', req, pu); pu.handler((err, returnJSON) => { if (err) { pu.saveError(err, req); return next(err); } res.json(returnJSON); }); });