[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

[stdlib] [bug] nice exception in Net::HTTP::HTTPHeader

Ustalov Dmitry

2/22/2008 7:22:00 PM

hello.

method initialize_http_header() of the Net::HTTP::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'?

How to reproduce this bug:
---8<---
#!/usr/bin/env ruby

# resolve any URI
require 'uri'
url = URI.parse("http://paste.org...) # put your favourite site
here!

# define the data
data = 'data=oops'

# prepare the request
require 'net/http'
http = Net::HTTP.new(url.host, url.port)

headers = {
'Content-Length' => data.size
}

resp = http.post(url.path, data, headers)
--->8---

My system is:
Fedora 8 (Werewolf) i386, ruby 1.8.6
2 Answers

Jano Svitok

2/22/2008 7:47:00 PM

0

On Fri, Feb 22, 2008 at 8:24 PM, Ustalov Dmitry <eveeel@gmail.com> wrote:
> hello.
>
> method initialize_http_header() of the Net::HTTP::HTTPHeader doesn't
> check the type of the 'value', and crashes with exception:

please, file a bug in ruby's tracker:

http://rubyforge.org/tracker/index.php?group_id=426&...

Ustalov Dmitry

2/22/2008 7:58:00 PM

0

On 23 ???, 00:47, Jano Svitok <jan.svi...@gmail.com> wrote:
> please, file a bug in ruby's tracker:
>
> http://rubyforge.org/tracker/index.php?group_id=426&...

done: http://rubyforge.org/tracker/index.php?func=detail&aid=18302&group_id=426&...

thanks.