{"action":"created","comment":{"url":"https://api.github.com/repos/vanilla/vanilla/pulls/comments/64782434","id":64782434,"diff_hunk":"@@ -796,6 +797,13 @@ private function _mapParts($Parts, $ControllerKey) {\n             }\n         }\n     }\n+\n+    /**\n+     * Trigger an event allowing addons to modify response headers.\n+     */\n+    public function sendHeaders() {","path":"library/core/class.dispatcher.php","position":16,"original_position":16,"commit_id":"69afae54aa8902fcb095457f8f2fc5ca48a66b9e","original_commit_id":"69afae54aa8902fcb095457f8f2fc5ca48a66b9e","user":{"login":"tburry","id":97432,"avatar_url":"https://avatars.githubusercontent.com/u/97432?v=3","gravatar_id":"","url":"https://api.github.com/users/tburry","html_url":"https://github.com/tburry","followers_url":"https://api.github.com/users/tburry/followers","following_url":"https://api.github.com/users/tburry/following{/other_user}","gists_url":"https://api.github.com/users/tburry/gists{/gist_id}","starred_url":"https://api.github.com/users/tburry/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tburry/subscriptions","organizations_url":"https://api.github.com/users/tburry/orgs","repos_url":"https://api.github.com/users/tburry/repos","events_url":"https://api.github.com/users/tburry/events{/privacy}","received_events_url":"https://api.github.com/users/tburry/received_events","type":"User","site_admin":false},"body":"Can this be private? We don't want to make functions public if there is no need.","created_at":"2016-05-26T17:04:01Z","updated_at":"2016-05-26T17:04:01Z","html_url":"https://github.com/vanilla/vanilla/pull/4042#discussion_r64782434","pull_request_url":"https://api.github.com/repos/vanilla/vanilla/pulls/4042","_links":{"self":{"href":"https://api.github.com/repos/vanilla/vanilla/pulls/comments/64782434"},"html":{"href":"https://github.com/vanilla/vanilla/pull/4042#discussion_r64782434"},"pull_request":{"href":"https://api.github.com/repos/vanilla/vanilla/pulls/4042"}}},"pull_request":{"url":"https://api.github.com/repos/vanilla/vanilla/pulls/4042","id":71588668,"html_url":"https://github.com/vanilla/vanilla/pull/4042","diff_url":"https://github.com/vanilla/vanilla/pull/4042.diff","patch_url":"https://github.com/vanilla/vanilla/pull/4042.patch","issue_url":"https://api.github.com/repos/vanilla/vanilla/issues/4042","number":4042,"state":"open","locked":false,"title":"Automatically update CSRF token with AJAX requests","user":{"login":"initvector","id":1390241,"avatar_url":"https://avatars.githubusercontent.com/u/1390241?v=3","gravatar_id":"","url":"https://api.github.com/users/initvector","html_url":"https://github.com/initvector","followers_url":"https://api.github.com/users/initvector/followers","following_url":"https://api.github.com/users/initvector/following{/other_user}","gists_url":"https://api.github.com/users/initvector/gists{/gist_id}","starred_url":"https://api.github.com/users/initvector/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/initvector/subscriptions","organizations_url":"https://api.github.com/users/initvector/orgs","repos_url":"https://api.github.com/users/initvector/repos","events_url":"https://api.github.com/users/initvector/events{/privacy}","received_events_url":"https://api.github.com/users/initvector/received_events","type":"User","site_admin":false},"body":"This update does a few things:\r\n\r\n1. Registers a new function, `Gdn_Dispatcher::sendHeaders`, as a callback with `header_register_callback` in `Gdn_Dispatcher::start`.  This function only fires an event.\r\n2. Adds a new hook, `gdn_dispatcher_sendHeaders_handler`, to the Dashboard application.  This hook checks to see if a transient key was supplied.  If it was and it is invalid, the valid transient key is sent back to the client in a X-CSRF-Token header.\r\n3. Creates a new JavaScript hook: `ajaxComplete`.  This hook checks the headers of any completed AJAX requests fired by jQuery.  If a X-CSRF-Token header is present, its value is grabbed and used to update the CSRF token value in the `gdn.meta` collection.\r\n\r\nCloses #3962","created_at":"2016-05-26T16:51:12Z","updated_at":"2016-05-26T17:04:01Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ab6a7ffe42060c43d382f186f8d3db5573e8c2a6","assignee":{"login":"tburry","id":97432,"avatar_url":"https://avatars.githubusercontent.com/u/97432?v=3","gravatar_id":"","url":"https://api.github.com/users/tburry","html_url":"https://github.com/tburry","followers_url":"https://api.github.com/users/tburry/followers","following_url":"https://api.github.com/users/tburry/following{/other_user}","gists_url":"https://api.github.com/users/tburry/gists{/gist_id}","starred_url":"https://api.github.com/users/tburry/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tburry/subscriptions","organizations_url":"https://api.github.com/users/tburry/orgs","repos_url":"https://api.github.com/users/tburry/repos","events_url":"https://api.github.com/users/tburry/events{/privacy}","received_events_url":"https://api.github.com/users/tburry/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/vanilla/vanilla/milestones/30","html_url":"https://github.com/vanilla/vanilla/milestones/Sprint%2013","labels_url":"https://api.github.com/repos/vanilla/vanilla/milestones/30/labels","id":1750589,"number":30,"title":"Sprint 13","description":"","creator":{"login":"linc","id":117672,"avatar_url":"https://avatars.githubusercontent.com/u/117672?v=3","gravatar_id":"","url":"https://api.github.com/users/linc","html_url":"https://github.com/linc","followers_url":"https://api.github.com/users/linc/followers","following_url":"https://api.github.com/users/linc/following{/other_user}","gists_url":"https://api.github.com/users/linc/gists{/gist_id}","starred_url":"https://api.github.com/users/linc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/linc/subscriptions","organizations_url":"https://api.github.com/users/linc/orgs","repos_url":"https://api.github.com/users/linc/repos","events_url":"https://api.github.com/users/linc/events{/privacy}","received_events_url":"https://api.github.com/users/linc/received_events","type":"User","site_admin":false},"open_issues":41,"closed_issues":9,"state":"open","created_at":"2016-05-05T22:22:58Z","updated_at":"2016-05-26T16:51:12Z","due_on":"2016-06-04T04:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/vanilla/vanilla/pulls/4042/commits","review_comments_url":"https://api.github.com/repos/vanilla/vanilla/pulls/4042/comments","review_comment_url":"https://api.github.com/repos/vanilla/vanilla/pulls/comments{/number}","comments_url":"https://api.github.com/repos/vanilla/vanilla/issues/4042/comments","statuses_url":"https://api.github.com/repos/vanilla/vanilla/statuses/69afae54aa8902fcb095457f8f2fc5ca48a66b9e","head":{"label":"vanilla:fix/resend-csrf","ref":"fix/resend-csrf","sha":"69afae54aa8902fcb095457f8f2fc5ca48a66b9e","user":{"login":"vanilla","id":7443552,"avatar_url":"https://avatars.githubusercontent.com/u/7443552?v=3","gravatar_id":"","url":"https://api.github.com/users/vanilla","html_url":"https://github.com/vanilla","followers_url":"https://api.github.com/users/vanilla/followers","following_url":"https://api.github.com/users/vanilla/following{/other_user}","gists_url":"https://api.github.com/users/vanilla/gists{/gist_id}","starred_url":"https://api.github.com/users/vanilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vanilla/subscriptions","organizations_url":"https://api.github.com/users/vanilla/orgs","repos_url":"https://api.github.com/users/vanilla/repos","events_url":"https://api.github.com/users/vanilla/events{/privacy}","received_events_url":"https://api.github.com/users/vanilla/received_events","type":"Organization","site_admin":false},"repo":{"id":232390,"name":"vanilla","full_name":"vanilla/vanilla","owner":{"login":"vanilla","id":7443552,"avatar_url":"https://avatars.githubusercontent.com/u/7443552?v=3","gravatar_id":"","url":"https://api.github.com/users/vanilla","html_url":"https://github.com/vanilla","followers_url":"https://api.github.com/users/vanilla/followers","following_url":"https://api.github.com/users/vanilla/following{/other_user}","gists_url":"https://api.github.com/users/vanilla/gists{/gist_id}","starred_url":"https://api.github.com/users/vanilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vanilla/subscriptions","organizations_url":"https://api.github.com/users/vanilla/orgs","repos_url":"https://api.github.com/users/vanilla/repos","events_url":"https://api.github.com/users/vanilla/events{/privacy}","received_events_url":"https://api.github.com/users/vanilla/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/vanilla/vanilla","description":"Vanilla is a powerfully simple discussion forum you can easily customize to make as unique as your community.","fork":false,"url":"https://api.github.com/repos/vanilla/vanilla","forks_url":"https://api.github.com/repos/vanilla/vanilla/forks","keys_url":"https://api.github.com/repos/vanilla/vanilla/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vanilla/vanilla/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vanilla/vanilla/teams","hooks_url":"https://api.github.com/repos/vanilla/vanilla/hooks","issue_events_url":"https://api.github.com/repos/vanilla/vanilla/issues/events{/number}","events_url":"https://api.github.com/repos/vanilla/vanilla/events","assignees_url":"https://api.github.com/repos/vanilla/vanilla/assignees{/user}","branches_url":"https://api.github.com/repos/vanilla/vanilla/branches{/branch}","tags_url":"https://api.github.com/repos/vanilla/vanilla/tags","blobs_url":"https://api.github.com/repos/vanilla/vanilla/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vanilla/vanilla/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vanilla/vanilla/git/refs{/sha}","trees_url":"https://api.github.com/repos/vanilla/vanilla/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vanilla/vanilla/statuses/{sha}","languages_url":"https://api.github.com/repos/vanilla/vanilla/languages","stargazers_url":"https://api.github.com/repos/vanilla/vanilla/stargazers","contributors_url":"https://api.github.com/repos/vanilla/vanilla/contributors","subscribers_url":"https://api.github.com/repos/vanilla/vanilla/subscribers","subscription_url":"https://api.github.com/repos/vanilla/vanilla/subscription","commits_url":"https://api.github.com/repos/vanilla/vanilla/commits{/sha}","git_commits_url":"https://api.github.com/repos/vanilla/vanilla/git/commits{/sha}","comments_url":"https://api.github.com/repos/vanilla/vanilla/comments{/number}","issue_comment_url":"https://api.github.com/repos/vanilla/vanilla/issues/comments{/number}","contents_url":"https://api.github.com/repos/vanilla/vanilla/contents/{+path}","compare_url":"https://api.github.com/repos/vanilla/vanilla/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vanilla/vanilla/merges","archive_url":"https://api.github.com/repos/vanilla/vanilla/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vanilla/vanilla/downloads","issues_url":"https://api.github.com/repos/vanilla/vanilla/issues{/number}","pulls_url":"https://api.github.com/repos/vanilla/vanilla/pulls{/number}","milestones_url":"https://api.github.com/repos/vanilla/vanilla/milestones{/number}","notifications_url":"https://api.github.com/repos/vanilla/vanilla/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vanilla/vanilla/labels{/name}","releases_url":"https://api.github.com/repos/vanilla/vanilla/releases{/id}","deployments_url":"https://api.github.com/repos/vanilla/vanilla/deployments","created_at":"2009-06-21T01:41:25Z","updated_at":"2016-05-24T09:15:22Z","pushed_at":"2016-05-26T16:51:13Z","git_url":"git://github.com/vanilla/vanilla.git","ssh_url":"git@github.com:vanilla/vanilla.git","clone_url":"https://github.com/vanilla/vanilla.git","svn_url":"https://github.com/vanilla/vanilla","homepage":"http://vanillaforums.org","size":72281,"stargazers_count":1513,"watchers_count":1513,"language":"PHP","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":585,"mirror_url":null,"open_issues_count":419,"forks":585,"open_issues":419,"watchers":1513,"default_branch":"master"}},"base":{"label":"vanilla:master","ref":"master","sha":"98f4c94fad63bbcc35fc0549d04258c8a418a978","user":{"login":"vanilla","id":7443552,"avatar_url":"https://avatars.githubusercontent.com/u/7443552?v=3","gravatar_id":"","url":"https://api.github.com/users/vanilla","html_url":"https://github.com/vanilla","followers_url":"https://api.github.com/users/vanilla/followers","following_url":"https://api.github.com/users/vanilla/following{/other_user}","gists_url":"https://api.github.com/users/vanilla/gists{/gist_id}","starred_url":"https://api.github.com/users/vanilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vanilla/subscriptions","organizations_url":"https://api.github.com/users/vanilla/orgs","repos_url":"https://api.github.com/users/vanilla/repos","events_url":"https://api.github.com/users/vanilla/events{/privacy}","received_events_url":"https://api.github.com/users/vanilla/received_events","type":"Organization","site_admin":false},"repo":{"id":232390,"name":"vanilla","full_name":"vanilla/vanilla","owner":{"login":"vanilla","id":7443552,"avatar_url":"https://avatars.githubusercontent.com/u/7443552?v=3","gravatar_id":"","url":"https://api.github.com/users/vanilla","html_url":"https://github.com/vanilla","followers_url":"https://api.github.com/users/vanilla/followers","following_url":"https://api.github.com/users/vanilla/following{/other_user}","gists_url":"https://api.github.com/users/vanilla/gists{/gist_id}","starred_url":"https://api.github.com/users/vanilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vanilla/subscriptions","organizations_url":"https://api.github.com/users/vanilla/orgs","repos_url":"https://api.github.com/users/vanilla/repos","events_url":"https://api.github.com/users/vanilla/events{/privacy}","received_events_url":"https://api.github.com/users/vanilla/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/vanilla/vanilla","description":"Vanilla is a powerfully simple discussion forum you can easily customize to make as unique as your community.","fork":false,"url":"https://api.github.com/repos/vanilla/vanilla","forks_url":"https://api.github.com/repos/vanilla/vanilla/forks","keys_url":"https://api.github.com/repos/vanilla/vanilla/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vanilla/vanilla/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vanilla/vanilla/teams","hooks_url":"https://api.github.com/repos/vanilla/vanilla/hooks","issue_events_url":"https://api.github.com/repos/vanilla/vanilla/issues/events{/number}","events_url":"https://api.github.com/repos/vanilla/vanilla/events","assignees_url":"https://api.github.com/repos/vanilla/vanilla/assignees{/user}","branches_url":"https://api.github.com/repos/vanilla/vanilla/branches{/branch}","tags_url":"https://api.github.com/repos/vanilla/vanilla/tags","blobs_url":"https://api.github.com/repos/vanilla/vanilla/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vanilla/vanilla/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vanilla/vanilla/git/refs{/sha}","trees_url":"https://api.github.com/repos/vanilla/vanilla/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vanilla/vanilla/statuses/{sha}","languages_url":"https://api.github.com/repos/vanilla/vanilla/languages","stargazers_url":"https://api.github.com/repos/vanilla/vanilla/stargazers","contributors_url":"https://api.github.com/repos/vanilla/vanilla/contributors","subscribers_url":"https://api.github.com/repos/vanilla/vanilla/subscribers","subscription_url":"https://api.github.com/repos/vanilla/vanilla/subscription","commits_url":"https://api.github.com/repos/vanilla/vanilla/commits{/sha}","git_commits_url":"https://api.github.com/repos/vanilla/vanilla/git/commits{/sha}","comments_url":"https://api.github.com/repos/vanilla/vanilla/comments{/number}","issue_comment_url":"https://api.github.com/repos/vanilla/vanilla/issues/comments{/number}","contents_url":"https://api.github.com/repos/vanilla/vanilla/contents/{+path}","compare_url":"https://api.github.com/repos/vanilla/vanilla/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vanilla/vanilla/merges","archive_url":"https://api.github.com/repos/vanilla/vanilla/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vanilla/vanilla/downloads","issues_url":"https://api.github.com/repos/vanilla/vanilla/issues{/number}","pulls_url":"https://api.github.com/repos/vanilla/vanilla/pulls{/number}","milestones_url":"https://api.github.com/repos/vanilla/vanilla/milestones{/number}","notifications_url":"https://api.github.com/repos/vanilla/vanilla/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vanilla/vanilla/labels{/name}","releases_url":"https://api.github.com/repos/vanilla/vanilla/releases{/id}","deployments_url":"https://api.github.com/repos/vanilla/vanilla/deployments","created_at":"2009-06-21T01:41:25Z","updated_at":"2016-05-24T09:15:22Z","pushed_at":"2016-05-26T16:51:13Z","git_url":"git://github.com/vanilla/vanilla.git","ssh_url":"git@github.com:vanilla/vanilla.git","clone_url":"https://github.com/vanilla/vanilla.git","svn_url":"https://github.com/vanilla/vanilla","homepage":"http://vanillaforums.org","size":72281,"stargazers_count":1513,"watchers_count":1513,"language":"PHP","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":585,"mirror_url":null,"open_issues_count":419,"forks":585,"open_issues":419,"watchers":1513,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/vanilla/vanilla/pulls/4042"},"html":{"href":"https://github.com/vanilla/vanilla/pull/4042"},"issue":{"href":"https://api.github.com/repos/vanilla/vanilla/issues/4042"},"comments":{"href":"https://api.github.com/repos/vanilla/vanilla/issues/4042/comments"},"review_comments":{"href":"https://api.github.com/repos/vanilla/vanilla/pulls/4042/comments"},"review_comment":{"href":"https://api.github.com/repos/vanilla/vanilla/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/vanilla/vanilla/pulls/4042/commits"},"statuses":{"href":"https://api.github.com/repos/vanilla/vanilla/statuses/69afae54aa8902fcb095457f8f2fc5ca48a66b9e"}}}}
{"actor":{"display_login":"tburry"}}