{"action":"opened","number":1234,"pull_request":{"url":"https://api.github.com/repos/nexcess/magento-turpentine/pulls/1234","id":78178949,"html_url":"https://github.com/nexcess/magento-turpentine/pull/1234","diff_url":"https://github.com/nexcess/magento-turpentine/pull/1234.diff","patch_url":"https://github.com/nexcess/magento-turpentine/pull/1234.patch","issue_url":"https://api.github.com/repos/nexcess/magento-turpentine/issues/1234","number":1234,"state":"open","locked":false,"title":"Don't use HTTP_REFERER for Dummy_Request to prevent (logged) exceptions.","user":{"login":"possi","id":1308937,"avatar_url":"https://avatars.githubusercontent.com/u/1308937?v=3","gravatar_id":"","url":"https://api.github.com/users/possi","html_url":"https://github.com/possi","followers_url":"https://api.github.com/users/possi/followers","following_url":"https://api.github.com/users/possi/following{/other_user}","gists_url":"https://api.github.com/users/possi/gists{/gist_id}","starred_url":"https://api.github.com/users/possi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/possi/subscriptions","organizations_url":"https://api.github.com/users/possi/orgs","repos_url":"https://api.github.com/users/possi/repos","events_url":"https://api.github.com/users/possi/events{/privacy}","received_events_url":"https://api.github.com/users/possi/received_events","type":"User","site_admin":false},"body":"Scenario to create an Invalid Dummy-Request-Url (which throws an exception in Debug-Mode):\r\n0. Assume a global, public ESI-Block on page (e.g. \"menu\")\r\n1. Search for \"\\\\\" (without quotes) -> /catalogsearch/result/?q=\\\\\r\n2. Click any page\r\n3. \"Invalid URI supplied\"-Zend_Uri_Exception is thrown\r\n\r\nDisabling the debug mode suppresses the exception, but spams the logs.\r\n\r\nReason:\r\nFor global blocks no /r64/.../-Param is passed to the ESI-Url. Mage_Core_Controller_Varien_Action::_getRefererUrl() uses $_SERVER['HTTP_REFERER'] if no r64-Param is in the Url. This Http-Header is never filtered, and the \\ within the Url isn't allowed by Zend_Uri_http::validateQuery()s regexp.\r\n\r\nSolution:\r\nThere is no reason to use the referrer as the Dummy_Request for global blocks, as they shouldn't rely on any url other than the front-page. If else, they currently wouldn't function either, as the referrer-url contains a different url then the page the user is currently visiting.","created_at":"2016-07-20T16:33:24Z","updated_at":"2016-07-20T16:33:24Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ba88cd3969fc93fdf3b963df6b704d92788fbb09","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/nexcess/magento-turpentine/pulls/1234/commits","review_comments_url":"https://api.github.com/repos/nexcess/magento-turpentine/pulls/1234/comments","review_comment_url":"https://api.github.com/repos/nexcess/magento-turpentine/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nexcess/magento-turpentine/issues/1234/comments","statuses_url":"https://api.github.com/repos/nexcess/magento-turpentine/statuses/165e85f38a4a2f6a8a6f26b238aa70790d355f26","head":{"label":"possi:esi_dummy_request_referrer","ref":"esi_dummy_request_referrer","sha":"165e85f38a4a2f6a8a6f26b238aa70790d355f26","user":{"login":"possi","id":1308937,"avatar_url":"https://avatars.githubusercontent.com/u/1308937?v=3","gravatar_id":"","url":"https://api.github.com/users/possi","html_url":"https://github.com/possi","followers_url":"https://api.github.com/users/possi/followers","following_url":"https://api.github.com/users/possi/following{/other_user}","gists_url":"https://api.github.com/users/possi/gists{/gist_id}","starred_url":"https://api.github.com/users/possi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/possi/subscriptions","organizations_url":"https://api.github.com/users/possi/orgs","repos_url":"https://api.github.com/users/possi/repos","events_url":"https://api.github.com/users/possi/events{/privacy}","received_events_url":"https://api.github.com/users/possi/received_events","type":"User","site_admin":false},"repo":{"id":61805354,"name":"magento-turpentine","full_name":"possi/magento-turpentine","owner":{"login":"possi","id":1308937,"avatar_url":"https://avatars.githubusercontent.com/u/1308937?v=3","gravatar_id":"","url":"https://api.github.com/users/possi","html_url":"https://github.com/possi","followers_url":"https://api.github.com/users/possi/followers","following_url":"https://api.github.com/users/possi/following{/other_user}","gists_url":"https://api.github.com/users/possi/gists{/gist_id}","starred_url":"https://api.github.com/users/possi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/possi/subscriptions","organizations_url":"https://api.github.com/users/possi/orgs","repos_url":"https://api.github.com/users/possi/repos","events_url":"https://api.github.com/users/possi/events{/privacy}","received_events_url":"https://api.github.com/users/possi/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/possi/magento-turpentine","description":"A Varnish extension for Magento.","fork":true,"url":"https://api.github.com/repos/possi/magento-turpentine","forks_url":"https://api.github.com/repos/possi/magento-turpentine/forks","keys_url":"https://api.github.com/repos/possi/magento-turpentine/keys{/key_id}","collaborators_url":"https://api.github.com/repos/possi/magento-turpentine/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/possi/magento-turpentine/teams","hooks_url":"https://api.github.com/repos/possi/magento-turpentine/hooks","issue_events_url":"https://api.github.com/repos/possi/magento-turpentine/issues/events{/number}","events_url":"https://api.github.com/repos/possi/magento-turpentine/events","assignees_url":"https://api.github.com/repos/possi/magento-turpentine/assignees{/user}","branches_url":"https://api.github.com/repos/possi/magento-turpentine/branches{/branch}","tags_url":"https://api.github.com/repos/possi/magento-turpentine/tags","blobs_url":"https://api.github.com/repos/possi/magento-turpentine/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/possi/magento-turpentine/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/possi/magento-turpentine/git/refs{/sha}","trees_url":"https://api.github.com/repos/possi/magento-turpentine/git/trees{/sha}","statuses_url":"https://api.github.com/repos/possi/magento-turpentine/statuses/{sha}","languages_url":"https://api.github.com/repos/possi/magento-turpentine/languages","stargazers_url":"https://api.github.com/repos/possi/magento-turpentine/stargazers","contributors_url":"https://api.github.com/repos/possi/magento-turpentine/contributors","subscribers_url":"https://api.github.com/repos/possi/magento-turpentine/subscribers","subscription_url":"https://api.github.com/repos/possi/magento-turpentine/subscription","commits_url":"https://api.github.com/repos/possi/magento-turpentine/commits{/sha}","git_commits_url":"https://api.github.com/repos/possi/magento-turpentine/git/commits{/sha}","comments_url":"https://api.github.com/repos/possi/magento-turpentine/comments{/number}","issue_comment_url":"https://api.github.com/repos/possi/magento-turpentine/issues/comments{/number}","contents_url":"https://api.github.com/repos/possi/magento-turpentine/contents/{+path}","compare_url":"https://api.github.com/repos/possi/magento-turpentine/compare/{base}...{head}","merges_url":"https://api.github.com/repos/possi/magento-turpentine/merges","archive_url":"https://api.github.com/repos/possi/magento-turpentine/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/possi/magento-turpentine/downloads","issues_url":"https://api.github.com/repos/possi/magento-turpentine/issues{/number}","pulls_url":"https://api.github.com/repos/possi/magento-turpentine/pulls{/number}","milestones_url":"https://api.github.com/repos/possi/magento-turpentine/milestones{/number}","notifications_url":"https://api.github.com/repos/possi/magento-turpentine/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/possi/magento-turpentine/labels{/name}","releases_url":"https://api.github.com/repos/possi/magento-turpentine/releases{/id}","deployments_url":"https://api.github.com/repos/possi/magento-turpentine/deployments","created_at":"2016-06-23T12:59:26Z","updated_at":"2016-06-23T12:59:27Z","pushed_at":"2016-07-20T16:29:42Z","git_url":"git://github.com/possi/magento-turpentine.git","ssh_url":"git@github.com:possi/magento-turpentine.git","clone_url":"https://github.com/possi/magento-turpentine.git","svn_url":"https://github.com/possi/magento-turpentine","homepage":"http://www.magentocommerce.com/magento-connect/turpentine-varnish-cache.html","size":1743,"stargazers_count":0,"watchers_count":0,"language":"PHP","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"nexcess:devel","ref":"devel","sha":"3137f950318fa1d3b8476ea82be6e1194eece6a2","user":{"login":"nexcess","id":651829,"avatar_url":"https://avatars.githubusercontent.com/u/651829?v=3","gravatar_id":"","url":"https://api.github.com/users/nexcess","html_url":"https://github.com/nexcess","followers_url":"https://api.github.com/users/nexcess/followers","following_url":"https://api.github.com/users/nexcess/following{/other_user}","gists_url":"https://api.github.com/users/nexcess/gists{/gist_id}","starred_url":"https://api.github.com/users/nexcess/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nexcess/subscriptions","organizations_url":"https://api.github.com/users/nexcess/orgs","repos_url":"https://api.github.com/users/nexcess/repos","events_url":"https://api.github.com/users/nexcess/events{/privacy}","received_events_url":"https://api.github.com/users/nexcess/received_events","type":"Organization","site_admin":false},"repo":{"id":5457485,"name":"magento-turpentine","full_name":"nexcess/magento-turpentine","owner":{"login":"nexcess","id":651829,"avatar_url":"https://avatars.githubusercontent.com/u/651829?v=3","gravatar_id":"","url":"https://api.github.com/users/nexcess","html_url":"https://github.com/nexcess","followers_url":"https://api.github.com/users/nexcess/followers","following_url":"https://api.github.com/users/nexcess/following{/other_user}","gists_url":"https://api.github.com/users/nexcess/gists{/gist_id}","starred_url":"https://api.github.com/users/nexcess/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nexcess/subscriptions","organizations_url":"https://api.github.com/users/nexcess/orgs","repos_url":"https://api.github.com/users/nexcess/repos","events_url":"https://api.github.com/users/nexcess/events{/privacy}","received_events_url":"https://api.github.com/users/nexcess/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/nexcess/magento-turpentine","description":"A Varnish extension for Magento.","fork":false,"url":"https://api.github.com/repos/nexcess/magento-turpentine","forks_url":"https://api.github.com/repos/nexcess/magento-turpentine/forks","keys_url":"https://api.github.com/repos/nexcess/magento-turpentine/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nexcess/magento-turpentine/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nexcess/magento-turpentine/teams","hooks_url":"https://api.github.com/repos/nexcess/magento-turpentine/hooks","issue_events_url":"https://api.github.com/repos/nexcess/magento-turpentine/issues/events{/number}","events_url":"https://api.github.com/repos/nexcess/magento-turpentine/events","assignees_url":"https://api.github.com/repos/nexcess/magento-turpentine/assignees{/user}","branches_url":"https://api.github.com/repos/nexcess/magento-turpentine/branches{/branch}","tags_url":"https://api.github.com/repos/nexcess/magento-turpentine/tags","blobs_url":"https://api.github.com/repos/nexcess/magento-turpentine/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nexcess/magento-turpentine/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nexcess/magento-turpentine/git/refs{/sha}","trees_url":"https://api.github.com/repos/nexcess/magento-turpentine/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nexcess/magento-turpentine/statuses/{sha}","languages_url":"https://api.github.com/repos/nexcess/magento-turpentine/languages","stargazers_url":"https://api.github.com/repos/nexcess/magento-turpentine/stargazers","contributors_url":"https://api.github.com/repos/nexcess/magento-turpentine/contributors","subscribers_url":"https://api.github.com/repos/nexcess/magento-turpentine/subscribers","subscription_url":"https://api.github.com/repos/nexcess/magento-turpentine/subscription","commits_url":"https://api.github.com/repos/nexcess/magento-turpentine/commits{/sha}","git_commits_url":"https://api.github.com/repos/nexcess/magento-turpentine/git/commits{/sha}","comments_url":"https://api.github.com/repos/nexcess/magento-turpentine/comments{/number}","issue_comment_url":"https://api.github.com/repos/nexcess/magento-turpentine/issues/comments{/number}","contents_url":"https://api.github.com/repos/nexcess/magento-turpentine/contents/{+path}","compare_url":"https://api.github.com/repos/nexcess/magento-turpentine/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nexcess/magento-turpentine/merges","archive_url":"https://api.github.com/repos/nexcess/magento-turpentine/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nexcess/magento-turpentine/downloads","issues_url":"https://api.github.com/repos/nexcess/magento-turpentine/issues{/number}","pulls_url":"https://api.github.com/repos/nexcess/magento-turpentine/pulls{/number}","milestones_url":"https://api.github.com/repos/nexcess/magento-turpentine/milestones{/number}","notifications_url":"https://api.github.com/repos/nexcess/magento-turpentine/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nexcess/magento-turpentine/labels{/name}","releases_url":"https://api.github.com/repos/nexcess/magento-turpentine/releases{/id}","deployments_url":"https://api.github.com/repos/nexcess/magento-turpentine/deployments","created_at":"2012-08-17T21:02:18Z","updated_at":"2016-07-17T11:43:51Z","pushed_at":"2016-07-20T16:33:24Z","git_url":"git://github.com/nexcess/magento-turpentine.git","ssh_url":"git@github.com:nexcess/magento-turpentine.git","clone_url":"https://github.com/nexcess/magento-turpentine.git","svn_url":"https://github.com/nexcess/magento-turpentine","homepage":"http://www.magentocommerce.com/magento-connect/turpentine-varnish-cache.html","size":2487,"stargazers_count":442,"watchers_count":442,"language":"PHP","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":221,"mirror_url":null,"open_issues_count":80,"forks":221,"open_issues":80,"watchers":442,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nexcess/magento-turpentine/pulls/1234"},"html":{"href":"https://github.com/nexcess/magento-turpentine/pull/1234"},"issue":{"href":"https://api.github.com/repos/nexcess/magento-turpentine/issues/1234"},"comments":{"href":"https://api.github.com/repos/nexcess/magento-turpentine/issues/1234/comments"},"review_comments":{"href":"https://api.github.com/repos/nexcess/magento-turpentine/pulls/1234/comments"},"review_comment":{"href":"https://api.github.com/repos/nexcess/magento-turpentine/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nexcess/magento-turpentine/pulls/1234/commits"},"statuses":{"href":"https://api.github.com/repos/nexcess/magento-turpentine/statuses/165e85f38a4a2f6a8a6f26b238aa70790d355f26"}},"merged":false,"mergeable":true,"mergeable_state":"clean","merged_by":null,"comments":0,"review_comments":0,"commits":1,"additions":21,"deletions":8,"changed_files":1}}
{"actor":{"display_login":"possi"}}