{"action":"created","issue":{"url":"https://api.github.com/repos/yesodweb/wai/issues/417","repository_url":"https://api.github.com/repos/yesodweb/wai","labels_url":"https://api.github.com/repos/yesodweb/wai/issues/417/labels{/name}","comments_url":"https://api.github.com/repos/yesodweb/wai/issues/417/comments","events_url":"https://api.github.com/repos/yesodweb/wai/issues/417/events","html_url":"https://github.com/yesodweb/wai/issues/417","id":98649385,"number":417,"title":"Warp should respond with HTTP_1_1_REQUIRED for connection takeovers.","user":{"login":"awpr","id":458666,"avatar_url":"https://avatars.githubusercontent.com/u/458666?v=3","gravatar_id":"","url":"https://api.github.com/users/awpr","html_url":"https://github.com/awpr","followers_url":"https://api.github.com/users/awpr/followers","following_url":"https://api.github.com/users/awpr/following{/other_user}","gists_url":"https://api.github.com/users/awpr/gists{/gist_id}","starred_url":"https://api.github.com/users/awpr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/awpr/subscriptions","organizations_url":"https://api.github.com/users/awpr/orgs","repos_url":"https://api.github.com/users/awpr/repos","events_url":"https://api.github.com/users/awpr/events{/privacy}","received_events_url":"https://api.github.com/users/awpr/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/yesodweb/wai/labels/http2","name":"http2","color":"bfdadc"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2015-08-03T00:30:11Z","updated_at":"2016-07-27T06:45:19Z","closed_at":null,"body":"While browsing the HTTP/2 spec while working on server push, I noticed that section 7 defines an error code HTTP_1_1_REQUIRED for requests that must use HTTP/1.1.  This can be used to make promoted applications using ResponseRaw appear to work seamlessly with HTTP/2, since browsers (at least Chrome; I haven't tested others) will restart the request over HTTP/1.1 in response to this error code.  This is probably preferable to serving the backup request.\r\n\r\nI think this can be supported by allowing HTTP/2 applications to raise a distinguished type of exception to make Warp reset the stream.  Then 'promoteApplication' can do this for Applications that respond with ResponseRaw.\r\n\r\nI think in 3.1.1 Warp may be unable to serve ResponseRaw Applications over https to browsers that support HTTP/2: these browsers will negotiate some variant of \"h2\", and will never be informed that they need to retry using a protocol that can support connection takeovers.\r\n\r\nPlain \"http\" would be unaffected since browsers will never discover that the server supports HTTP/2; but, adding support for upgrading to HTTP/2 would cause \"http\" URLs to become affected as well."},"comment":{"url":"https://api.github.com/repos/yesodweb/wai/issues/comments/235500792","html_url":"https://github.com/yesodweb/wai/issues/417#issuecomment-235500792","issue_url":"https://api.github.com/repos/yesodweb/wai/issues/417","id":235500792,"user":{"login":"kazu-yamamoto","id":165387,"avatar_url":"https://avatars.githubusercontent.com/u/165387?v=3","gravatar_id":"","url":"https://api.github.com/users/kazu-yamamoto","html_url":"https://github.com/kazu-yamamoto","followers_url":"https://api.github.com/users/kazu-yamamoto/followers","following_url":"https://api.github.com/users/kazu-yamamoto/following{/other_user}","gists_url":"https://api.github.com/users/kazu-yamamoto/gists{/gist_id}","starred_url":"https://api.github.com/users/kazu-yamamoto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kazu-yamamoto/subscriptions","organizations_url":"https://api.github.com/users/kazu-yamamoto/orgs","repos_url":"https://api.github.com/users/kazu-yamamoto/repos","events_url":"https://api.github.com/users/kazu-yamamoto/events{/privacy}","received_events_url":"https://api.github.com/users/kazu-yamamoto/received_events","type":"User","site_admin":false},"created_at":"2016-07-27T06:45:19Z","updated_at":"2016-07-27T06:45:19Z","body":"Is this issue still valid? If not valid, please close this issue."}}
{"actor":{"display_login":"kazu-yamamoto"}}