1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 | var basic = require('./basic');
|
12 |
|
13 |
|
14 |
|
15 |
|
16 | module.exports = function (handler) {
|
17 |
|
18 | if (typeof handler !== 'function') {
|
19 | handler = function (user, pass, callback) {
|
20 | callback(null);
|
21 | };
|
22 | }
|
23 |
|
24 |
|
25 | return function (req, res, callback) {
|
26 | var header = req.headers.Authorization || req.headers.authorization;
|
27 | if (!header) {
|
28 | var denied = new Error('access denied')
|
29 | denied.status = denied.statusCode = 401
|
30 | return callback(denied);
|
31 | }
|
32 |
|
33 | var auth = basic(header);
|
34 | handler(auth.username, auth.password, callback);
|
35 | };
|
36 | };
|