UNPKG

1.17 kBJavaScriptView Raw
1/*
2 * Copyright 2012-2013 the original author or authors
3 * @license MIT, see LICENSE.txt for details
4 *
5 * @author Scott Andrews
6 */
7
8(function (define) {
9 'use strict';
10
11 define(function (require) {
12
13 var interceptor, base64;
14
15 interceptor = require('../interceptor');
16 base64 = require('../util/base64');
17
18 /**
19 * Authenticates the request using HTTP Basic Authentication (rfc2617)
20 *
21 * @param {Client} [client] client to wrap
22 * @param {string} config.username username
23 * @param {string} [config.password=''] password for the user
24 *
25 * @returns {Client}
26 */
27 return interceptor({
28 request: function handleRequest(request, config) {
29 var headers, username, password;
30
31 headers = request.headers || (request.headers = {});
32 username = request.username || config.username;
33 password = request.password || config.password || '';
34
35 if (username) {
36 headers.Authorization = 'Basic ' + base64.encode(username + ':' + password);
37 }
38
39 return request;
40 }
41 });
42
43 });
44
45}(
46 typeof define === 'function' && define.amd ? define : function (factory) { module.exports = factory(require); }
47 // Boilerplate for AMD and Node
48));