open-uri doesn't support multiline server headers
When a server sends a multiline header, open-uri raises an exception with the message 'wrong header line format'.
Multi-line headers are valid since RFC 2616 says: 'Each header field consists of a name followed by a colon (":") and the field value. Field names are case-insensitive. The field value MAY be preceded by any amount of LWS, though a single SP is preferred. Header fields can be extended over multiple lines by preceding each extra line with at least one SP or HT'.
The problem is in the line 2034 of net/http.rb where the code handles response headers. It reads bytes until a new line character is detected and expects each header in one line. Nonetheless it has to read until a line followed by a non space/tab character is detected.
Updated by nahi (Hiroshi Nakamura) almost 13 years ago
I fixed the bug of net/http at r25577.
Manuel, would you please post the actual HTTP response header that caused the problem?
I added some tests but I want to ensure the problem won't happen again for you.
Thanks in advance.