{"action":"created","issue":{"url":"https://api.github.com/repos/tornadoweb/tornado/issues/1940","repository_url":"https://api.github.com/repos/tornadoweb/tornado","labels_url":"https://api.github.com/repos/tornadoweb/tornado/issues/1940/labels{/name}","comments_url":"https://api.github.com/repos/tornadoweb/tornado/issues/1940/comments","events_url":"https://api.github.com/repos/tornadoweb/tornado/issues/1940/events","html_url":"https://github.com/tornadoweb/tornado/issues/1940","id":205329311,"number":1940,"title":"Unexpected exception when handling malformed response header","user":{"login":"jxskiss","id":17606336,"avatar_url":"https://avatars.githubusercontent.com/u/17606336?v=3","gravatar_id":"","url":"https://api.github.com/users/jxskiss","html_url":"https://github.com/jxskiss","followers_url":"https://api.github.com/users/jxskiss/followers","following_url":"https://api.github.com/users/jxskiss/following{/other_user}","gists_url":"https://api.github.com/users/jxskiss/gists{/gist_id}","starred_url":"https://api.github.com/users/jxskiss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jxskiss/subscriptions","organizations_url":"https://api.github.com/users/jxskiss/orgs","repos_url":"https://api.github.com/users/jxskiss/repos","events_url":"https://api.github.com/users/jxskiss/events{/privacy}","received_events_url":"https://api.github.com/users/jxskiss/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2017-02-04T07:02:58Z","updated_at":"2017-02-06T04:05:46Z","closed_at":"2017-02-06T04:05:46Z","body":"Some http server response without status message, like \"HTTP/1.1 200\",\r\nin the following line, \"parse_response_start_line\" expects an space after the status code, as the docstring says \"HTTP/1.1 200 OK\".\r\nhttps://github.com/tornadoweb/tornado/blob/master/tornado/httputil.py#L849\r\n\r\nBut the regular expression is written as \"(HTTP/1.[0-9]) ([0-9]+) ([^\\r]*)\", which can match \"HTTP/1.1 200 \" but not \"HTTP/1.1 200\", and HTTPInputError(\"Error parsing response start line\") is raised.\r\n\r\nMake the space optional with ? gives the expected result."},"comment":{"url":"https://api.github.com/repos/tornadoweb/tornado/issues/comments/277582311","html_url":"https://github.com/tornadoweb/tornado/issues/1940#issuecomment-277582311","issue_url":"https://api.github.com/repos/tornadoweb/tornado/issues/1940","id":277582311,"user":{"login":"bdarnell","id":160562,"avatar_url":"https://avatars.githubusercontent.com/u/160562?v=3","gravatar_id":"","url":"https://api.github.com/users/bdarnell","html_url":"https://github.com/bdarnell","followers_url":"https://api.github.com/users/bdarnell/followers","following_url":"https://api.github.com/users/bdarnell/following{/other_user}","gists_url":"https://api.github.com/users/bdarnell/gists{/gist_id}","starred_url":"https://api.github.com/users/bdarnell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bdarnell/subscriptions","organizations_url":"https://api.github.com/users/bdarnell/orgs","repos_url":"https://api.github.com/users/bdarnell/repos","events_url":"https://api.github.com/users/bdarnell/events{/privacy}","received_events_url":"https://api.github.com/users/bdarnell/received_events","type":"User","site_admin":false},"created_at":"2017-02-06T04:05:45Z","updated_at":"2017-02-06T04:05:45Z","body":"This is a duplicate of #857.\r\n\r\nThe reason phrase is in a strange situation: it's mandatory in HTTP/1.x but completely missing from HTTP/2. So I'm sympathetic to implementations that pretend it doesn't exist, but the spec clearly requires a space after the status code. If there were widespread servers that omitted this space then I'd be open to accommodating them, but since they appear to be quite rare (and clients that enforce this aspect of the spec are common), I think it's better to remain strict and fix this on the server side."}}
{"actor":{"display_login":"bdarnell"}}