Skip to content

Commit 2d18772

Browse files
committed
Merge pull request oauthjs#269 from mjsalinger/268-Request-and-Response-should-allow-additional-properties
Modifes Request and Response objects to contain all properties
2 parents 25b4bc1 + 0bb9b18 commit 2d18772

File tree

59 files changed

+369
-113
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+369
-113
lines changed

index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Expose server and request/response classes.

lib/errors/access-denied-error.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/errors/invalid-argument-error.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/errors/invalid-client-error.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/errors/invalid-grant-error.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/errors/invalid-request-error.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/errors/invalid-scope-error.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/errors/invalid-token-error.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/errors/oauth-error.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/errors/server-error.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/errors/unauthorized-client-error.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/errors/unauthorized-request-error.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/errors/unsupported-grant-type-error.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/grant-types/abstract-grant-type.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/grant-types/authorization-code-grant-type.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.
@@ -182,7 +183,7 @@ AuthorizationCodeGrantType.prototype.revokeAuthorizationCode = function(code) {
182183
*/
183184

184185
AuthorizationCodeGrantType.prototype.saveToken = function(user, client, authorizationCode, scope) {
185-
const fns = [
186+
var fns = [
186187
this.validateScope(user, client, scope),
187188
this.generateAccessToken(),
188189
this.generateRefreshToken()

lib/grant-types/client-credentials-grant-type.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/grant-types/password-grant-type.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/grant-types/refresh-token-grant-type.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/handlers/authenticate-handler.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/handlers/authorize-handler.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/handlers/token-handler.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/models/token-model.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/request.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.
@@ -32,7 +33,16 @@ function Request(options) {
3233

3334
// Store the headers in lower case.
3435
for (var field in options.headers) {
35-
this.headers[field.toLowerCase()] = options.headers[field];
36+
if (options.headers.hasOwnProperty(field)) {
37+
this.headers[field.toLowerCase()] = options.headers[field];
38+
}
39+
}
40+
41+
// Store additional properties of the request object passed in
42+
for (var property in options) {
43+
if (options.hasOwnProperty(property) && !this[property]) {
44+
this[property] = options[property];
45+
}
3646
}
3747
}
3848

lib/response-types/code-response-type.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/response-types/token-response-type.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/response.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Constructor.
@@ -12,7 +13,16 @@ function Response(options) {
1213

1314
// Store the headers in lower case.
1415
for (var field in options.headers) {
15-
this.headers[field.toLowerCase()] = options.headers[field];
16+
if (options.headers.hasOwnProperty(field)) {
17+
this.headers[field.toLowerCase()] = options.headers[field];
18+
}
19+
}
20+
21+
// Store additional properties of the response object passed in
22+
for (var property in options) {
23+
if (options.hasOwnProperty(property) && !this[property]) {
24+
this[property] = options[property];
25+
}
1626
}
1727
}
1828

lib/server.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/token-types/bearer-token-type.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/token-types/mac-token-type.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/utils/token-util.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

lib/validator/is.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Validation rules.

npm-debug.log

Lines changed: 0 additions & 108 deletions
This file was deleted.

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"validator.js": "^1.1.1"
2222
},
2323
"devDependencies": {
24+
"jshint": "^2.9.1",
2425
"mocha": "^2.2.1",
2526
"should": "^5.0.1",
2627
"sinon": "^1.13.0"
@@ -30,6 +31,7 @@
3031
"node": ">=0.8"
3132
},
3233
"scripts": {
34+
"pretest": "./node_modules/.bin/jshint --config ./.jshintrc lib test",
3335
"test": "NODE_ENV=test ./node_modules/.bin/mocha 'test/**/*_test.js'"
3436
},
3537
"repository": {

test/assertions.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

test/integration/grant-types/abstract-grant-type_test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

test/integration/grant-types/authorization-code-grant-type_test.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.
@@ -132,7 +133,7 @@ describe('AuthorizationCodeGrantType integration', function() {
132133
var client = { id: 'foobar' };
133134
var model = {
134135
getAuthorizationCode: function() { return Promise.resolve({ authorizationCode: 12345, client: { id: 'foobar' }, expiresAt: new Date(new Date() * 2), user: {} }); },
135-
revokeAuthorizationCode: function() { return Promise.resolve({ authorizationCode: 12345, client: { id: 'foobar' }, expiresAt: new Date(new Date() / 2), user: {} }) },
136+
revokeAuthorizationCode: function() { return Promise.resolve({ authorizationCode: 12345, client: { id: 'foobar' }, expiresAt: new Date(new Date() / 2), user: {} }); },
136137
saveToken: function() {}
137138
};
138139
var grantType = new AuthorizationCodeGrantType({ accessTokenLifetime: 123, model: model });

test/integration/grant-types/client-credentials-grant-type_test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

test/integration/grant-types/password-grant-type_test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

test/integration/grant-types/refresh-token-grant-type_test.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.
@@ -132,7 +133,7 @@ describe('RefreshTokenGrantType integration', function() {
132133
var client = { id: 123 };
133134
var model = {
134135
getRefreshToken: function() { return Promise.resolve({ accessToken: 'foo', client: { id: 123 }, user: {} }); },
135-
revokeToken: function() { return Promise.resolve({ accessToken: 'foo', client: {}, refreshTokenExpiresAt: new Date(new Date() / 2), user: {} }) },
136+
revokeToken: function() { return Promise.resolve({ accessToken: 'foo', client: {}, refreshTokenExpiresAt: new Date(new Date() / 2), user: {} }); },
136137
saveToken: function() { return Promise.resolve({ accessToken: 'foo', client: {}, user: {} }); }
137138
};
138139
var grantType = new RefreshTokenGrantType({ accessTokenLifetime: 123, model: model });

test/integration/handlers/authenticate-handler_test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

test/integration/handlers/authorize-handler_test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

test/integration/handlers/token-handler_test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

test/integration/request_test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

test/integration/response-types/code-response-type_test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Module dependencies.

0 commit comments

Comments
 (0)