Issue #5764 has been reported by Mike Styer.

----------------------------------------
Bug #5764: Net::HTTP should assume HTTP/0.9 on unexpected responses
http://redmine.ruby-lang.org/issues/5764

Author: Mike Styer
Status: Open
Priority: Normal
Assignee: 
Category: lib
Target version: 
ruby -v: ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-darwin11.1.0] 


Currently Net::HTTP.read_status_line throws Net::HTTPBadResponse if the status line does not conform to HTTP/1.1 specifications.

But in cases when the web server implements a request size limit, it may not read HTTP/1.1 trailer after the request URI and may send back an HTTP/0.9 response.

Nginx does this for 414 Request-URI Too Large responses:

http://lxr.evanmiller.org/http/source/http/ngx_http_header_filter_module.c#L95
http://forum.nginx.org/read.php?2,52862,52862

Perl's Net::HTTP provides a "laxed" option to read_response_headers() to assume HTTP/0.9 if it can't find an HTTP/1.1 status line. Ruby should provide a similar option.


-- 
http://redmine.ruby-lang.org