From: shishir127@... Date: 2015-06-29T16:34:49+00:00 Subject: [ruby-core:69773] [Ruby trunk - Bug #11281] Unexpected behaviour in HTTP header processing Issue #11281 has been updated by Shishir Joshi. I think if the user wants to send a blank header, then the user should do that explicitly like so ~~~ Net::HTTP::Get.new('http://any.url', {'header' => ""}) ~~~ Converting a `nil` value to a blank string is not so obvious behaviour so I am OK with skipping `nil` values. ---------------------------------------- Bug #11281: Unexpected behaviour in HTTP header processing https://bugs.ruby-lang.org/issues/11281#change-53151 * Author: John Carter * Status: Feedback * Priority: Normal * Assignee: * ruby -v: ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- Running this: ~~~ruby Net::HTTP::Get.new('http://any.url', {'header' => nil}) ~~~ Results in: ~~~ NoMethodError: undefined method `strip' for nil:NilClass from /home/vagrant/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/net/http/header.rb:17:in `block in initialize_http_header' from /home/vagrant/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/net/http/header.rb:15:in `each' from /home/vagrant/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/net/http/header.rb:15:in `initialize_http_header' from /home/vagrant/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/net/http/generic_request.rb:43:in `initialize' from /home/vagrant/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/net/http/request.rb:14:in `initialize' from (irb):13:in `new' from (irb):13 ~~~ Suggest implementation changes to assume a `nil` header value is the same as an empty string. Thanks, John -- https://bugs.ruby-lang.org/