1 | /**
|
2 | * HTTP Basic Auth for Node.js
|
3 | *
|
4 | * @package basic
|
5 | * @author Andrew Sliwinski <andrew@diy.org>
|
6 | */
|
7 |
|
8 | /**
|
9 | * Dependencies
|
10 | */
|
11 | var basic = require('./basic');
|
12 |
|
13 | /**
|
14 | * Export
|
15 | */
|
16 | module.exports = function (handler) {
|
17 | // Default handler method
|
18 | if (typeof handler !== 'function') {
|
19 | handler = function (user, pass, callback) {
|
20 | callback(null);
|
21 | };
|
22 | }
|
23 |
|
24 | // Return middleware
|
25 | return function (req, res, callback) {
|
26 | var header = req.headers.Authorization || req.headers.authorization;
|
27 | if (!header) return callback(401);
|
28 |
|
29 | var auth = basic(header);
|
30 | handler(auth.username, auth.password, callback);
|
31 | };
|
32 | }; |
\ | No newline at end of file |