From 8ce0bd84fb7723e0e55b442800f472470332cb04 Mon Sep 17 00:00:00 2001 From: Nikita Lutsenko Date: Tue, 1 Mar 2016 15:16:51 -0800 Subject: [PATCH] Add promise-based master-key only middleware. --- src/middlewares.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/middlewares.js b/src/middlewares.js index 8489cda0..56ebdc1d 100644 --- a/src/middlewares.js +++ b/src/middlewares.js @@ -194,6 +194,16 @@ function enforceMasterKeyAccess(req, res, next) { next(); } +function promiseEnforceMasterKeyAccess(request) { + if (!request.auth.isMaster) { + let error = new Error(); + error.status = 403; + error.message = "unauthorized: master key is required"; + throw error; + } + return Promise.resolve(); +} + function invalidRequest(req, res) { res.status(403); res.end('{"error":"unauthorized"}'); @@ -204,5 +214,6 @@ module.exports = { allowMethodOverride: allowMethodOverride, handleParseErrors: handleParseErrors, handleParseHeaders: handleParseHeaders, - enforceMasterKeyAccess: enforceMasterKeyAccess + enforceMasterKeyAccess: enforceMasterKeyAccess, + promiseEnforceMasterKeyAccess };