This project is closed and read-only.
Bug #723
closedNet::HTTPHeader doesn't check the type of the 'value'
Description
=begin
initialize_http_header() method of the Net::HTTPHeader doesn't check the type of the 'value', and crashes with exception:
---8<---
/usr/lib/ruby/1.8/net/http.rb:1142:in initialize_http_header': undefined method strip' for 1.43:Float (NoMethodError)
from /usr/lib/ruby/1.8/net/http.rb:1140:in each' from /usr/lib/ruby/1.8/net/http.rb:1140:in initialize_http_header'
from /usr/lib/ruby/1.8/net/http.rb:1472:in initialize' from /usr/lib/ruby/1.8/net/http.rb:1588:in initialize'
from /usr/lib/ruby/1.8/net/http.rb:845:in new' from /usr/lib/ruby/1.8/net/http.rb:845:in post'
--->8---
I think, we need to cast any 'value' to String in the initialize_http_header():
---8<---
def initialize_http_header(initheader)
@header = {}
return unless initheader
initheader.each do |key, value|
warn "net/http: warning: duplicated HTTP header: #{key}" if key?(key) and $VERBOSE
@header[key.downcase] = [value.strip]
end
end
--->8---
Maybe, we should use 'value.to_s.strip' instead of 'value.strip'?
My system is: Fedora 8 i386, ruby 1.8.6 (p111).
// Added later: This bug is also occured in ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-linux] (Fedora 9 i386).
=end
Files