diff options
Diffstat (limited to 'deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js')
-rwxr-xr-x | deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js b/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js index 256bf3222..fb6564a4b 100755 --- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js +++ b/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js @@ -99,20 +99,27 @@ exports.unauthorized = function (message, scheme, attributes) { // Or f // function (message, scheme, attributes) wwwAuthenticate = scheme; + + if (attributes || message) { + err.output.payload.attributes = {}; + } + if (attributes) { var names = Object.keys(attributes); for (i = 0, il = names.length; i < il; ++i) { + var name = names[i]; if (i) { wwwAuthenticate += ','; } - var value = attributes[names[i]]; + var value = attributes[name]; if (value === null || value === undefined) { // Value can be zero value = ''; } - wwwAuthenticate += ' ' + names[i] + '="' + Hoek.escapeHeaderAttribute(value.toString()) + '"'; + wwwAuthenticate += ' ' + name + '="' + Hoek.escapeHeaderAttribute(value.toString()) + '"'; + err.output.payload.attributes[name] = value; } } @@ -121,6 +128,7 @@ exports.unauthorized = function (message, scheme, attributes) { // Or f wwwAuthenticate += ','; } wwwAuthenticate += ' error="' + Hoek.escapeHeaderAttribute(message) + '"'; + err.output.payload.attributes.error = message; } else { err.isMissing = true; |