{"action":"created","issue":{"url":"https://api.github.com/repos/GoogleCloudPlatform/appengine-java-vm-runtime/issues/323","repository_url":"https://api.github.com/repos/GoogleCloudPlatform/appengine-java-vm-runtime","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/appengine-java-vm-runtime/issues/323/labels{/name}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/appengine-java-vm-runtime/issues/323/comments","events_url":"https://api.github.com/repos/GoogleCloudPlatform/appengine-java-vm-runtime/issues/323/events","html_url":"https://github.com/GoogleCloudPlatform/appengine-java-vm-runtime/pull/323","id":171588507,"number":323,"title":"Issue #320 Forwarded headers","user":{"login":"gregw","id":70829,"avatar_url":"https://avatars.githubusercontent.com/u/70829?v=3","gravatar_id":"","url":"https://api.github.com/users/gregw","html_url":"https://github.com/gregw","followers_url":"https://api.github.com/users/gregw/followers","following_url":"https://api.github.com/users/gregw/following{/other_user}","gists_url":"https://api.github.com/users/gregw/gists{/gist_id}","starred_url":"https://api.github.com/users/gregw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gregw/subscriptions","organizations_url":"https://api.github.com/users/gregw/orgs","repos_url":"https://api.github.com/users/gregw/repos","events_url":"https://api.github.com/users/gregw/events{/privacy}","received_events_url":"https://api.github.com/users/gregw/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"gregw","id":70829,"avatar_url":"https://avatars.githubusercontent.com/u/70829?v=3","gravatar_id":"","url":"https://api.github.com/users/gregw","html_url":"https://github.com/gregw","followers_url":"https://api.github.com/users/gregw/followers","following_url":"https://api.github.com/users/gregw/following{/other_user}","gists_url":"https://api.github.com/users/gregw/gists{/gist_id}","starred_url":"https://api.github.com/users/gregw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gregw/subscriptions","organizations_url":"https://api.github.com/users/gregw/orgs","repos_url":"https://api.github.com/users/gregw/repos","events_url":"https://api.github.com/users/gregw/events{/privacy}","received_events_url":"https://api.github.com/users/gregw/received_events","type":"User","site_admin":false},"assignees":[{"login":"gregw","id":70829,"avatar_url":"https://avatars.githubusercontent.com/u/70829?v=3","gravatar_id":"","url":"https://api.github.com/users/gregw","html_url":"https://github.com/gregw","followers_url":"https://api.github.com/users/gregw/followers","following_url":"https://api.github.com/users/gregw/following{/other_user}","gists_url":"https://api.github.com/users/gregw/gists{/gist_id}","starred_url":"https://api.github.com/users/gregw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gregw/subscriptions","organizations_url":"https://api.github.com/users/gregw/orgs","repos_url":"https://api.github.com/users/gregw/repos","events_url":"https://api.github.com/users/gregw/events{/privacy}","received_events_url":"https://api.github.com/users/gregw/received_events","type":"User","site_admin":false},{"login":"joakime","id":191721,"avatar_url":"https://avatars.githubusercontent.com/u/191721?v=3","gravatar_id":"","url":"https://api.github.com/users/joakime","html_url":"https://github.com/joakime","followers_url":"https://api.github.com/users/joakime/followers","following_url":"https://api.github.com/users/joakime/following{/other_user}","gists_url":"https://api.github.com/users/joakime/gists{/gist_id}","starred_url":"https://api.github.com/users/joakime/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joakime/subscriptions","organizations_url":"https://api.github.com/users/joakime/orgs","repos_url":"https://api.github.com/users/joakime/repos","events_url":"https://api.github.com/users/joakime/events{/privacy}","received_events_url":"https://api.github.com/users/joakime/received_events","type":"User","site_admin":false}],"milestone":null,"comments":10,"created_at":"2016-08-17T07:04:00Z","updated_at":"2016-08-23T20:15:02Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/GoogleCloudPlatform/appengine-java-vm-runtime/pulls/323","html_url":"https://github.com/GoogleCloudPlatform/appengine-java-vm-runtime/pull/323","diff_url":"https://github.com/GoogleCloudPlatform/appengine-java-vm-runtime/pull/323.diff","patch_url":"https://github.com/GoogleCloudPlatform/appengine-java-vm-runtime/pull/323.patch"},"body":"Remove the GAE request customizer code and replace with standard jetty request customizer for #320 "},"comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/appengine-java-vm-runtime/issues/comments/241862015","html_url":"https://github.com/GoogleCloudPlatform/appengine-java-vm-runtime/pull/323#issuecomment-241862015","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/appengine-java-vm-runtime/issues/323","id":241862015,"user":{"login":"joakime","id":191721,"avatar_url":"https://avatars.githubusercontent.com/u/191721?v=3","gravatar_id":"","url":"https://api.github.com/users/joakime","html_url":"https://github.com/joakime","followers_url":"https://api.github.com/users/joakime/followers","following_url":"https://api.github.com/users/joakime/following{/other_user}","gists_url":"https://api.github.com/users/joakime/gists{/gist_id}","starred_url":"https://api.github.com/users/joakime/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joakime/subscriptions","organizations_url":"https://api.github.com/users/joakime/orgs","repos_url":"https://api.github.com/users/joakime/repos","events_url":"https://api.github.com/users/joakime/events{/privacy}","received_events_url":"https://api.github.com/users/joakime/received_events","type":"User","site_admin":false},"created_at":"2016-08-23T20:15:02Z","updated_at":"2016-08-23T20:15:02Z","body":"To be fair, I have not found an implementation like Google's unique interpretation of `X-Forwarded-For` values.\r\n\r\nThe nuances in the wild seem to be :\r\n\r\n- Only 1 Header, and 1 value, never a list, always the client IP\r\n- Only 1 Header, list of values, left-most is client IP (remaining entries are proxies)\r\n- Multiple Headers, first header has client IP (subsequent have proxies)"}}
{"actor":{"display_login":"joakime"}}