summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-07-24 00:24:12 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-07-24 00:26:28 +0900
commitc9826c20d204d4b8894e6fd51e5913959676776d (patch)
tree36f7460fc0d35a98c6f0caaef91ee9a4b8e7597b
parent325f7b6008a4a10e9b0f1c69ee4518b0669461be (diff)
Show the caller's location
* lib/net/http/header.rb: show the caller's location instead of the current lines.
-rw-r--r--lib/net/http/header.rb4
-rw-r--r--test/net/http/test_httpheader.rb14
2 files changed, 15 insertions, 3 deletions
diff --git a/lib/net/http/header.rb b/lib/net/http/header.rb
index 7865814208..356b08d6fb 100644
--- a/lib/net/http/header.rb
+++ b/lib/net/http/header.rb
@@ -14,9 +14,9 @@ module Net::HTTPHeader
@header = {}
return unless initheader
initheader.each do |key, value|
- warn "net/http: duplicated HTTP header: #{key}", uplevel: 1 if key?(key) and $VERBOSE
+ warn "net/http: duplicated HTTP header: #{key}", uplevel: 3 if key?(key) and $VERBOSE
if value.nil?
- warn "net/http: nil HTTP header: #{key}", uplevel: 1 if $VERBOSE
+ warn "net/http: nil HTTP header: #{key}", uplevel: 3 if $VERBOSE
else
value = value.strip # raise error for invalid byte sequences
if value.count("\r\n") > 0
diff --git a/test/net/http/test_httpheader.rb b/test/net/http/test_httpheader.rb
index cb4678a805..cfbe36bcfd 100644
--- a/test/net/http/test_httpheader.rb
+++ b/test/net/http/test_httpheader.rb
@@ -119,7 +119,19 @@ class HTTPHeaderTest < Test::Unit::TestCase
class D; include Net::HTTPHeader; end
def test_nil_variable_header
- assert_nothing_raised { D.new.initialize_http_header({Authorization: nil}) }
+ assert_nothing_raised do
+ assert_warning("#{__FILE__}:#{__LINE__+1}: warning: net/http: nil HTTP header: Authorization\n") do
+ D.new.initialize_http_header({Authorization: nil})
+ end
+ end
+ end
+
+ def test_duplicated_variable_header
+ assert_nothing_raised do
+ assert_warning("#{__FILE__}:#{__LINE__+1}: warning: net/http: duplicated HTTP header: Authorization\n") do
+ D.new.initialize_http_header({"AUTHORIZATION": "yes", "Authorization": "no"})
+ end
+ end
end
def test_delete