{"action":"created","comment":{"url":"https://api.github.com/repos/expressjs/express/pulls/comments/170133957","pull_request_review_id":98776326,"id":170133957,"diff_hunk":"@@ -383,6 +384,50 @@ app.set = function set(setting, val) {\n   return this;\n };\n \n+/**\n+ * Extend `setting` with `val`, or return `setting`'s value.\n+ *\n+ *    app.set('foo', { 'bar' : 1 })\n+ *    app.expand('foo', { 'baz' : 1 });\n+ *    app.expand('foo');\n+ *    // => { \"bar\" : 1, \"baz\" : 1 }\n+ *\n+ * Mounted servers inherit their parent server's settings.\n+ *\n+ * @param {String} setting\n+ * @param {*} [val]\n+ * @return {Server} for chaining\n+ * @public\n+ */\n+\n+app.extend = function(setting, val) {\n+  if (arguments.length === 1) {\n+    // app.get(setting)\n+    return this.settings[setting];\n+  }\n+\n+  if (typeof val === 'undefined') {\n+    return this;\n+  } else if (val === null || typeof val !== 'object' || val instanceof Array) {","path":"lib/application.js","position":36,"original_position":36,"commit_id":"a17f89276a22b5256a037e4b5b1cffe9cd38eecb","original_commit_id":"a17f89276a22b5256a037e4b5b1cffe9cd38eecb","user":{"login":"wesleytodd","id":1027776,"avatar_url":"https://avatars2.githubusercontent.com/u/1027776?v=4","gravatar_id":"","url":"https://api.github.com/users/wesleytodd","html_url":"https://github.com/wesleytodd","followers_url":"https://api.github.com/users/wesleytodd/followers","following_url":"https://api.github.com/users/wesleytodd/following{/other_user}","gists_url":"https://api.github.com/users/wesleytodd/gists{/gist_id}","starred_url":"https://api.github.com/users/wesleytodd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wesleytodd/subscriptions","organizations_url":"https://api.github.com/users/wesleytodd/orgs","repos_url":"https://api.github.com/users/wesleytodd/repos","events_url":"https://api.github.com/users/wesleytodd/events{/privacy}","received_events_url":"https://api.github.com/users/wesleytodd/received_events","type":"User","site_admin":false},"body":"When looking at node.green, I think in my other comment I mentioned that I thought that wasn't supported in node `0.12`, but I think I looked at the wrong field, and it has been so long since I have used `0.12` I couldn't remember what was supported...\r\n\r\nhttp://node.green/#ES2015-subclassing-Array-is-subclassable-Array-isArray-support","created_at":"2018-02-23T00:15:50Z","updated_at":"2018-02-23T00:15:50Z","html_url":"https://github.com/expressjs/express/pull/3568#discussion_r170133957","pull_request_url":"https://api.github.com/repos/expressjs/express/pulls/3568","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/expressjs/express/pulls/comments/170133957"},"html":{"href":"https://github.com/expressjs/express/pull/3568#discussion_r170133957"},"pull_request":{"href":"https://api.github.com/repos/expressjs/express/pulls/3568"}},"in_reply_to_id":170130592},"pull_request":{"url":"https://api.github.com/repos/expressjs/express/pulls/3568","id":169544256,"html_url":"https://github.com/expressjs/express/pull/3568","diff_url":"https://github.com/expressjs/express/pull/3568.diff","patch_url":"https://github.com/expressjs/express/pull/3568.patch","issue_url":"https://api.github.com/repos/expressjs/express/issues/3568","number":3568,"state":"open","locked":false,"title":"Added app.extend()","user":{"login":"Boycce","id":2629988,"avatar_url":"https://avatars3.githubusercontent.com/u/2629988?v=4","gravatar_id":"","url":"https://api.github.com/users/Boycce","html_url":"https://github.com/Boycce","followers_url":"https://api.github.com/users/Boycce/followers","following_url":"https://api.github.com/users/Boycce/following{/other_user}","gists_url":"https://api.github.com/users/Boycce/gists{/gist_id}","starred_url":"https://api.github.com/users/Boycce/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Boycce/subscriptions","organizations_url":"https://api.github.com/users/Boycce/orgs","repos_url":"https://api.github.com/users/Boycce/repos","events_url":"https://api.github.com/users/Boycce/events{/privacy}","received_events_url":"https://api.github.com/users/Boycce/received_events","type":"User","site_admin":false},"body":"Added `app.extend()`, which provides an easy way to update certain properties of a setting.\r\nExample:\r\n```\r\napp.set('foo', { 'bar' : 1 })\r\napp.extend('foo', { 'baz' : 1 });\r\napp.get('foo');\r\n// => { \"bar\" : 1, \"baz\" : 1 }\r\n```\r\n\r\nRelated issue #3499 ","created_at":"2018-02-16T04:04:16Z","updated_at":"2018-02-23T00:15:50Z","closed_at":null,"merged_at":null,"merge_commit_sha":"97e4b8cae651817084ca9dfabd2df7aa1b52b4a2","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":133578713,"url":"https://api.github.com/repos/expressjs/express/labels/pr","name":"pr","color":"006b75","default":false}],"milestone":{"url":"https://api.github.com/repos/expressjs/express/milestones/17","html_url":"https://github.com/expressjs/express/milestone/17","labels_url":"https://api.github.com/repos/expressjs/express/milestones/17/labels","id":3066819,"number":17,"title":"4.17","description":"","creator":{"login":"dougwilson","id":67512,"avatar_url":"https://avatars3.githubusercontent.com/u/67512?v=4","gravatar_id":"","url":"https://api.github.com/users/dougwilson","html_url":"https://github.com/dougwilson","followers_url":"https://api.github.com/users/dougwilson/followers","following_url":"https://api.github.com/users/dougwilson/following{/other_user}","gists_url":"https://api.github.com/users/dougwilson/gists{/gist_id}","starred_url":"https://api.github.com/users/dougwilson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dougwilson/subscriptions","organizations_url":"https://api.github.com/users/dougwilson/orgs","repos_url":"https://api.github.com/users/dougwilson/repos","events_url":"https://api.github.com/users/dougwilson/events{/privacy}","received_events_url":"https://api.github.com/users/dougwilson/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":0,"state":"open","created_at":"2018-01-26T16:25:16Z","updated_at":"2018-02-22T23:53:43Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/expressjs/express/pulls/3568/commits","review_comments_url":"https://api.github.com/repos/expressjs/express/pulls/3568/comments","review_comment_url":"https://api.github.com/repos/expressjs/express/pulls/comments{/number}","comments_url":"https://api.github.com/repos/expressjs/express/issues/3568/comments","statuses_url":"https://api.github.com/repos/expressjs/express/statuses/a17f89276a22b5256a037e4b5b1cffe9cd38eecb","head":{"label":"Boycce:app.extend","ref":"app.extend","sha":"a17f89276a22b5256a037e4b5b1cffe9cd38eecb","user":{"login":"Boycce","id":2629988,"avatar_url":"https://avatars3.githubusercontent.com/u/2629988?v=4","gravatar_id":"","url":"https://api.github.com/users/Boycce","html_url":"https://github.com/Boycce","followers_url":"https://api.github.com/users/Boycce/followers","following_url":"https://api.github.com/users/Boycce/following{/other_user}","gists_url":"https://api.github.com/users/Boycce/gists{/gist_id}","starred_url":"https://api.github.com/users/Boycce/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Boycce/subscriptions","organizations_url":"https://api.github.com/users/Boycce/orgs","repos_url":"https://api.github.com/users/Boycce/repos","events_url":"https://api.github.com/users/Boycce/events{/privacy}","received_events_url":"https://api.github.com/users/Boycce/received_events","type":"User","site_admin":false},"repo":{"id":121561161,"name":"express","full_name":"Boycce/express","owner":{"login":"Boycce","id":2629988,"avatar_url":"https://avatars3.githubusercontent.com/u/2629988?v=4","gravatar_id":"","url":"https://api.github.com/users/Boycce","html_url":"https://github.com/Boycce","followers_url":"https://api.github.com/users/Boycce/followers","following_url":"https://api.github.com/users/Boycce/following{/other_user}","gists_url":"https://api.github.com/users/Boycce/gists{/gist_id}","starred_url":"https://api.github.com/users/Boycce/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Boycce/subscriptions","organizations_url":"https://api.github.com/users/Boycce/orgs","repos_url":"https://api.github.com/users/Boycce/repos","events_url":"https://api.github.com/users/Boycce/events{/privacy}","received_events_url":"https://api.github.com/users/Boycce/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Boycce/express","description":"Fast, unopinionated, minimalist web framework for node.","fork":true,"url":"https://api.github.com/repos/Boycce/express","forks_url":"https://api.github.com/repos/Boycce/express/forks","keys_url":"https://api.github.com/repos/Boycce/express/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Boycce/express/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Boycce/express/teams","hooks_url":"https://api.github.com/repos/Boycce/express/hooks","issue_events_url":"https://api.github.com/repos/Boycce/express/issues/events{/number}","events_url":"https://api.github.com/repos/Boycce/express/events","assignees_url":"https://api.github.com/repos/Boycce/express/assignees{/user}","branches_url":"https://api.github.com/repos/Boycce/express/branches{/branch}","tags_url":"https://api.github.com/repos/Boycce/express/tags","blobs_url":"https://api.github.com/repos/Boycce/express/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Boycce/express/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Boycce/express/git/refs{/sha}","trees_url":"https://api.github.com/repos/Boycce/express/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Boycce/express/statuses/{sha}","languages_url":"https://api.github.com/repos/Boycce/express/languages","stargazers_url":"https://api.github.com/repos/Boycce/express/stargazers","contributors_url":"https://api.github.com/repos/Boycce/express/contributors","subscribers_url":"https://api.github.com/repos/Boycce/express/subscribers","subscription_url":"https://api.github.com/repos/Boycce/express/subscription","commits_url":"https://api.github.com/repos/Boycce/express/commits{/sha}","git_commits_url":"https://api.github.com/repos/Boycce/express/git/commits{/sha}","comments_url":"https://api.github.com/repos/Boycce/express/comments{/number}","issue_comment_url":"https://api.github.com/repos/Boycce/express/issues/comments{/number}","contents_url":"https://api.github.com/repos/Boycce/express/contents/{+path}","compare_url":"https://api.github.com/repos/Boycce/express/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Boycce/express/merges","archive_url":"https://api.github.com/repos/Boycce/express/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Boycce/express/downloads","issues_url":"https://api.github.com/repos/Boycce/express/issues{/number}","pulls_url":"https://api.github.com/repos/Boycce/express/pulls{/number}","milestones_url":"https://api.github.com/repos/Boycce/express/milestones{/number}","notifications_url":"https://api.github.com/repos/Boycce/express/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Boycce/express/labels{/name}","releases_url":"https://api.github.com/repos/Boycce/express/releases{/id}","deployments_url":"https://api.github.com/repos/Boycce/express/deployments","created_at":"2018-02-14T21:04:19Z","updated_at":"2018-02-14T21:04:25Z","pushed_at":"2018-02-22T23:36:02Z","git_url":"git://github.com/Boycce/express.git","ssh_url":"git@github.com:Boycce/express.git","clone_url":"https://github.com/Boycce/express.git","svn_url":"https://github.com/Boycce/express","homepage":"https://expressjs.com","size":8658,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"expressjs:4.x","ref":"4.x","sha":"351396f971280ab79faddcf9782ea50f4e88358d","user":{"login":"expressjs","id":5658226,"avatar_url":"https://avatars2.githubusercontent.com/u/5658226?v=4","gravatar_id":"","url":"https://api.github.com/users/expressjs","html_url":"https://github.com/expressjs","followers_url":"https://api.github.com/users/expressjs/followers","following_url":"https://api.github.com/users/expressjs/following{/other_user}","gists_url":"https://api.github.com/users/expressjs/gists{/gist_id}","starred_url":"https://api.github.com/users/expressjs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/expressjs/subscriptions","organizations_url":"https://api.github.com/users/expressjs/orgs","repos_url":"https://api.github.com/users/expressjs/repos","events_url":"https://api.github.com/users/expressjs/events{/privacy}","received_events_url":"https://api.github.com/users/expressjs/received_events","type":"Organization","site_admin":false},"repo":{"id":237159,"name":"express","full_name":"expressjs/express","owner":{"login":"expressjs","id":5658226,"avatar_url":"https://avatars2.githubusercontent.com/u/5658226?v=4","gravatar_id":"","url":"https://api.github.com/users/expressjs","html_url":"https://github.com/expressjs","followers_url":"https://api.github.com/users/expressjs/followers","following_url":"https://api.github.com/users/expressjs/following{/other_user}","gists_url":"https://api.github.com/users/expressjs/gists{/gist_id}","starred_url":"https://api.github.com/users/expressjs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/expressjs/subscriptions","organizations_url":"https://api.github.com/users/expressjs/orgs","repos_url":"https://api.github.com/users/expressjs/repos","events_url":"https://api.github.com/users/expressjs/events{/privacy}","received_events_url":"https://api.github.com/users/expressjs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/expressjs/express","description":"Fast, unopinionated, minimalist web framework for node.","fork":false,"url":"https://api.github.com/repos/expressjs/express","forks_url":"https://api.github.com/repos/expressjs/express/forks","keys_url":"https://api.github.com/repos/expressjs/express/keys{/key_id}","collaborators_url":"https://api.github.com/repos/expressjs/express/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/expressjs/express/teams","hooks_url":"https://api.github.com/repos/expressjs/express/hooks","issue_events_url":"https://api.github.com/repos/expressjs/express/issues/events{/number}","events_url":"https://api.github.com/repos/expressjs/express/events","assignees_url":"https://api.github.com/repos/expressjs/express/assignees{/user}","branches_url":"https://api.github.com/repos/expressjs/express/branches{/branch}","tags_url":"https://api.github.com/repos/expressjs/express/tags","blobs_url":"https://api.github.com/repos/expressjs/express/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/expressjs/express/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/expressjs/express/git/refs{/sha}","trees_url":"https://api.github.com/repos/expressjs/express/git/trees{/sha}","statuses_url":"https://api.github.com/repos/expressjs/express/statuses/{sha}","languages_url":"https://api.github.com/repos/expressjs/express/languages","stargazers_url":"https://api.github.com/repos/expressjs/express/stargazers","contributors_url":"https://api.github.com/repos/expressjs/express/contributors","subscribers_url":"https://api.github.com/repos/expressjs/express/subscribers","subscription_url":"https://api.github.com/repos/expressjs/express/subscription","commits_url":"https://api.github.com/repos/expressjs/express/commits{/sha}","git_commits_url":"https://api.github.com/repos/expressjs/express/git/commits{/sha}","comments_url":"https://api.github.com/repos/expressjs/express/comments{/number}","issue_comment_url":"https://api.github.com/repos/expressjs/express/issues/comments{/number}","contents_url":"https://api.github.com/repos/expressjs/express/contents/{+path}","compare_url":"https://api.github.com/repos/expressjs/express/compare/{base}...{head}","merges_url":"https://api.github.com/repos/expressjs/express/merges","archive_url":"https://api.github.com/repos/expressjs/express/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/expressjs/express/downloads","issues_url":"https://api.github.com/repos/expressjs/express/issues{/number}","pulls_url":"https://api.github.com/repos/expressjs/express/pulls{/number}","milestones_url":"https://api.github.com/repos/expressjs/express/milestones{/number}","notifications_url":"https://api.github.com/repos/expressjs/express/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/expressjs/express/labels{/name}","releases_url":"https://api.github.com/repos/expressjs/express/releases{/id}","deployments_url":"https://api.github.com/repos/expressjs/express/deployments","created_at":"2009-06-26T18:56:01Z","updated_at":"2018-02-22T23:20:24Z","pushed_at":"2018-02-22T23:36:11Z","git_url":"git://github.com/expressjs/express.git","ssh_url":"git@github.com:expressjs/express.git","clone_url":"https://github.com/expressjs/express.git","svn_url":"https://github.com/expressjs/express","homepage":"https://expressjs.com","size":8654,"stargazers_count":36765,"watchers_count":36765,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6598,"mirror_url":null,"archived":false,"open_issues_count":165,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":6598,"open_issues":165,"watchers":36765,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/expressjs/express/pulls/3568"},"html":{"href":"https://github.com/expressjs/express/pull/3568"},"issue":{"href":"https://api.github.com/repos/expressjs/express/issues/3568"},"comments":{"href":"https://api.github.com/repos/expressjs/express/issues/3568/comments"},"review_comments":{"href":"https://api.github.com/repos/expressjs/express/pulls/3568/comments"},"review_comment":{"href":"https://api.github.com/repos/expressjs/express/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/expressjs/express/pulls/3568/commits"},"statuses":{"href":"https://api.github.com/repos/expressjs/express/statuses/a17f89276a22b5256a037e4b5b1cffe9cd38eecb"}},"author_association":"NONE"}}
{"actor":{"display_login":"wesleytodd"}}