diff --git a/http-digest-client.js b/http-digest-client.js index 9d91133..a39f110 100644 --- a/http-digest-client.js +++ b/http-digest-client.js @@ -79,11 +79,13 @@ var HTTPDigest = function () { authParams.nc = nc; authParams.cnonce = cnonce; } - + + authParams.algorithm='MD5'; + var headers = options.headers || {}; headers.Authorization = this._compileParams(authParams); options.headers = headers; - + http.request(options, function (res) { callback(res); }).end(); @@ -99,12 +101,11 @@ var HTTPDigest = function () { var length = parts.length; var params = {}; for (var i = 0; i < length; i++) { - var part = parts[i].match(/^\s*?([a-zA-Z0-0]+)="(.*)"\s*?$/); + var part = parts[i].match(/^\s*?([a-zA-Z0-0]+)="?(.*)"?\s*?$/); if (part.length > 2) { - params[part[1]] = part[2]; + params[part[1]] = part[2].replace('"',''); } } - return params; }; @@ -114,9 +115,14 @@ var HTTPDigest = function () { HTTPDigest.prototype._compileParams = function compileParams(params) { var parts = []; for (var i in params) { - parts.push(i + '="' + params[i] + '"'); + if(i === 'nc'){ + parts.push(i + '=' + params[i]); + }else{ + parts.push(i + '="' + params[i] + '"'); + } + } - return 'Digest ' + parts.join(','); + return 'Digest ' + parts.join(', '); }; //