{"action":"created","issue":{"url":"https://api.github.com/repos/undertow-io/undertow/issues/425","repository_url":"https://api.github.com/repos/undertow-io/undertow","labels_url":"https://api.github.com/repos/undertow-io/undertow/issues/425/labels{/name}","comments_url":"https://api.github.com/repos/undertow-io/undertow/issues/425/comments","events_url":"https://api.github.com/repos/undertow-io/undertow/issues/425/events","html_url":"https://github.com/undertow-io/undertow/pull/425","id":174542178,"number":425,"title":"[UNDERTOW-816] check number of occurence of HTTP2 pseudo-headers.","user":{"login":"jstourac","id":12250881,"avatar_url":"https://avatars.githubusercontent.com/u/12250881?v=3","gravatar_id":"","url":"https://api.github.com/users/jstourac","html_url":"https://github.com/jstourac","followers_url":"https://api.github.com/users/jstourac/followers","following_url":"https://api.github.com/users/jstourac/following{/other_user}","gists_url":"https://api.github.com/users/jstourac/gists{/gist_id}","starred_url":"https://api.github.com/users/jstourac/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jstourac/subscriptions","organizations_url":"https://api.github.com/users/jstourac/orgs","repos_url":"https://api.github.com/users/jstourac/repos","events_url":"https://api.github.com/users/jstourac/events{/privacy}","received_events_url":"https://api.github.com/users/jstourac/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-09-01T14:43:14Z","updated_at":"2016-09-02T15:25:18Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/undertow-io/undertow/pulls/425","html_url":"https://github.com/undertow-io/undertow/pull/425","diff_url":"https://github.com/undertow-io/undertow/pull/425.diff","patch_url":"https://github.com/undertow-io/undertow/pull/425.patch"},"body":"- According to the HTTP2 specification https://tools.ietf.org/html/rfc7540#section-8.1.2.3\r\n  'All HTTP/2 requests MUST include exactly one valid value for the\r\n   \":method\", \":scheme\", and \":path\" pseudo-header fields, unless it is\r\n   a CONNECT request (Section 8.3).  An HTTP request that omits\r\n   mandatory pseudo-header fields is malformed (Section 8.1.2.6).'\r\n- therefore occurence instead of presence is checked now for :method,\r\n  :scheme and :path pseudo-header fields now\r\n- check for :authority is removed at all as specification says nothing about it"},"comment":{"url":"https://api.github.com/repos/undertow-io/undertow/issues/comments/244406700","html_url":"https://github.com/undertow-io/undertow/pull/425#issuecomment-244406700","issue_url":"https://api.github.com/repos/undertow-io/undertow/issues/425","id":244406700,"user":{"login":"jstourac","id":12250881,"avatar_url":"https://avatars.githubusercontent.com/u/12250881?v=3","gravatar_id":"","url":"https://api.github.com/users/jstourac","html_url":"https://github.com/jstourac","followers_url":"https://api.github.com/users/jstourac/followers","following_url":"https://api.github.com/users/jstourac/following{/other_user}","gists_url":"https://api.github.com/users/jstourac/gists{/gist_id}","starred_url":"https://api.github.com/users/jstourac/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jstourac/subscriptions","organizations_url":"https://api.github.com/users/jstourac/orgs","repos_url":"https://api.github.com/users/jstourac/repos","events_url":"https://api.github.com/users/jstourac/events{/privacy}","received_events_url":"https://api.github.com/users/jstourac/received_events","type":"User","site_admin":false},"created_at":"2016-09-02T15:25:18Z","updated_at":"2016-09-02T15:25:18Z","body":"Thanks Stuart for pointing that out. I have reworked it a little bit.\r\n\r\nad ':authority': not sure about it either. Reading this [comment](https://github.com/grpc/grpc/issues/1022#issuecomment-78991360) on GitHub - might it be that way? I mean - web browsers would use ':authority' header but proxies might use 'Host' instead? In such case I guess that there would be necessary to check that one of ':authority' or 'Host' header is present in client request."}}
{"actor":{"display_login":"jstourac"}}