Issue #11281 has been updated by Shishir Joshi.


Nobuyoshi Nakada wrote:
> Shishir Joshi wrote:
> > So I am OK with skipping `nil` values.
> 
> Then no needs to allow `nil`?

Yes. Nil header doesn't make sense and should be skipped. But I'm not really convinced that this is a good case to raise an exception. Your thoughts?



----------------------------------------
Bug #11281: Unexpected behaviour in HTTP header processing
https://bugs.ruby-lang.org/issues/11281#change-53226

* Author: John Carter
* Status: Rejected
* 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/