Skip to content

Commit

Permalink
#63 Update assert-plus to version 1 (and make tests pass on node v7.6)
Browse files Browse the repository at this point in the history
  • Loading branch information
jharris4 authored and arekinath committed Aug 25, 2017
1 parent 38c1ae7 commit 011fa33
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 14 deletions.
2 changes: 1 addition & 1 deletion lib/parser.js
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ module.exports = {
}
assert.object(options, 'options');
assert.arrayOfString(options.headers, 'options.headers');
assert.optionalNumber(options.clockSkew, 'options.clockSkew');
assert.optionalFinite(options.clockSkew, 'options.clockSkew');

var authzHeaderName = options.authorizationHeaderName || 'authorization';

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
"test": "tap test/*.js"
},
"dependencies": {
"assert-plus": "^0.2.0",
"assert-plus": "^1.0.0",
"jsprim": "^1.2.2",
"sshpk": "^1.7.0"
},
Expand Down
43 changes: 31 additions & 12 deletions test/examples.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -126,14 +126,18 @@ test('find keys and examples', function (t) {
* interface has been pretty stable in practice, with minimal change from
* 0.8 through to 4.2.
*/
var binding, HTTPParser, kOnHeadersComplete;
var binding, HTTPParser, kOnHeadersComplete, methods;

if (process.binding)
binding = process.binding('http_parser');
if (binding)
HTTPParser = binding.HTTPParser;
if (HTTPParser)
kOnHeadersComplete = HTTPParser.kOnHeadersComplete;
if (HTTPParser && HTTPParser.methods)
methods = HTTPParser.methods;
else
methods = ['DELETE', 'GET', 'HEAD', 'POST', 'PUT'];

function DummyRequest() {
}
Expand All @@ -148,22 +152,37 @@ function parseHttpRequest(data, cb) {
var obj = new DummyRequest();
p[kOnHeadersComplete] = onHeadersComplete;
function onHeadersComplete(opts) {
obj.httpVersionMajor = opts.versionMajor;
obj.httpVersionMinor = opts.versionMinor;
obj.httpVersion = opts.versionMajor + '.' + opts.versionMinor;
var versionMajorKey = 'versionMajor';
var versionMinorKey = 'versionMinor';
var headersKey = 'headers';
var urlKey = 'url';
var methodKey = 'method';
var upgradeKey = 'upgrade';
if (!(typeof opts === 'object')) {
opts = [].slice.call(arguments);
versionMajorKey = 0;
versionMinorKey = "1";
headersKey = "2";
urlKey = "4";
methodKey = "3";
upgradeKey = "7";
}
obj.httpVersionMajor = opts[versionMajorKey];
obj.httpVersionMinor = opts[versionMinorKey];
obj.httpVersion = obj.httpVersionMajor + '.' + obj.httpVersionMinor;

obj.rawHeaders = opts.headers;
obj.rawHeaders = opts[headersKey];
obj.headers = {};
for (var i = 0; i < opts.headers.length; i += 2) {
var k = opts.headers[i].toLowerCase();
var v = opts.headers[i+1];
for (var i = 0; i < obj.rawHeaders.length; i += 2) {
var k = obj.rawHeaders[i].toLowerCase();
var v = obj.rawHeaders[i+1];
obj.headers[k] = v;
}

obj.url = opts.url;
obj.path = opts.url;
obj.method = HTTPParser.methods[opts.method];
obj.upgrade = opts.upgrade;
obj.url = opts[urlKey];
obj.path = opts[urlKey];
obj.method = methods[opts[methodKey]];
obj.upgrade = opts[upgradeKey];

assert.ok(obj.httpVersion);
cb(obj);
Expand Down

0 comments on commit 011fa33

Please sign in to comment.