зеркало из https://github.com/github/ruby.git
[rubygems/rubygems] Remove defensive guards
https://github.com/rubygems/rubygems/commit/dba130cd80
This commit is contained in:
Родитель
fafd9d280a
Коммит
a508693f06
|
@ -16,7 +16,7 @@ class Gem::PrintableUri
|
||||||
def parse_uri
|
def parse_uri
|
||||||
@original_uri = Gem::UriParser.parse_uri(@original_uri)
|
@original_uri = Gem::UriParser.parse_uri(@original_uri)
|
||||||
@uri = @original_uri.clone
|
@uri = @original_uri.clone
|
||||||
redact_credential
|
redact_credential if valid_uri?
|
||||||
|
|
||||||
self
|
self
|
||||||
end
|
end
|
||||||
|
@ -30,8 +30,6 @@ class Gem::PrintableUri
|
||||||
end
|
end
|
||||||
|
|
||||||
def original_password
|
def original_password
|
||||||
return unless valid_uri?
|
|
||||||
|
|
||||||
@original_uri.password
|
@original_uri.password
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -42,40 +40,31 @@ class Gem::PrintableUri
|
||||||
private
|
private
|
||||||
|
|
||||||
def redact_credential
|
def redact_credential
|
||||||
return unless redactable_credential?
|
|
||||||
|
|
||||||
if token?
|
if token?
|
||||||
@uri.user = 'REDACTED'
|
@uri.user = 'REDACTED'
|
||||||
|
@credential_redacted = true
|
||||||
elsif oauth_basic?
|
elsif oauth_basic?
|
||||||
@uri.user = 'REDACTED'
|
@uri.user = 'REDACTED'
|
||||||
|
@credential_redacted = true
|
||||||
elsif password?
|
elsif password?
|
||||||
@uri.password = 'REDACTED'
|
@uri.password = 'REDACTED'
|
||||||
end
|
|
||||||
|
|
||||||
@credential_redacted = true
|
@credential_redacted = true
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def redactable_credential?
|
def redactable_credential?
|
||||||
return false unless valid_uri?
|
|
||||||
|
|
||||||
password? || oauth_basic? || token?
|
password? || oauth_basic? || token?
|
||||||
end
|
end
|
||||||
|
|
||||||
def password?
|
def password?
|
||||||
return false unless valid_uri?
|
|
||||||
|
|
||||||
!!@uri.password
|
!!@uri.password
|
||||||
end
|
end
|
||||||
|
|
||||||
def oauth_basic?
|
def oauth_basic?
|
||||||
return false unless valid_uri?
|
|
||||||
|
|
||||||
@uri.password == 'x-oauth-basic'
|
@uri.password == 'x-oauth-basic'
|
||||||
end
|
end
|
||||||
|
|
||||||
def token?
|
def token?
|
||||||
return false unless valid_uri?
|
|
||||||
|
|
||||||
!@uri.user.nil? && @uri.password.nil?
|
!@uri.user.nil? && @uri.password.nil?
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -63,10 +63,6 @@ class TestPrintableUri < Gem::TestCase
|
||||||
assert_equal nil, Gem::PrintableUri.parse_uri("https://www.example.com").original_password
|
assert_equal nil, Gem::PrintableUri.parse_uri("https://www.example.com").original_password
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_original_password_with_invalid_uri
|
|
||||||
assert_equal nil, Gem::PrintableUri.parse_uri("https://www.example.com:80index").original_password
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_original_password_with_empty_uri_object
|
def test_original_password_with_empty_uri_object
|
||||||
assert_equal nil, Gem::PrintableUri.parse_uri(URI("")).original_password
|
assert_equal nil, Gem::PrintableUri.parse_uri(URI("")).original_password
|
||||||
end
|
end
|
||||||
|
@ -75,10 +71,6 @@ class TestPrintableUri < Gem::TestCase
|
||||||
assert_equal "pass", Gem::PrintableUri.parse_uri(URI("https://user:pass@example.com")).original_password
|
assert_equal "pass", Gem::PrintableUri.parse_uri(URI("https://user:pass@example.com")).original_password
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_original_password_with_other_objects
|
|
||||||
assert_equal nil, Gem::PrintableUri.parse_uri(Object.new).original_password
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_to_s_with_user_pass
|
def test_to_s_with_user_pass
|
||||||
assert_equal "https://user:REDACTED@example.com", Gem::PrintableUri.parse_uri("https://user:pass@example.com").to_s
|
assert_equal "https://user:REDACTED@example.com", Gem::PrintableUri.parse_uri("https://user:pass@example.com").to_s
|
||||||
end
|
end
|
||||||
|
|
Загрузка…
Ссылка в новой задаче