mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
stdlib: avoid extra calls to eliminate "\n" from Base64
We may use the '0' (zero) to avoid adding the line feed. Furthermore, the '*' (asterisk) modifier is not needed for a single-element arrays. * ext/psych/lib/psych/visitors/yaml_tree.rb (visit_String): eliminate chomp * lib/net/http.rb (connect): eliminate delete * lib/net/http/header.rb (basic_encode): ditto * lib/net/imap.rb (authenticate): eliminate gsub (self.encode_utf7): shorten delete arg * lib/net/smtp.rb (base64_encode): eliminate gsub * lib/open-uri.rb (OpenURI.open_http): eliminate delete * lib/rss/rss.rb: ditto * lib/securerandom.rb (base64): ditto (urlsafe_base64): eliminate delete! * lib/webrick/httpauth/digestauth.rb (split_param_value): eliminate chop * lib/webrick/httpproxy.rb (do_CONNECT): eliminate delete (setup_upstream_proxy_authentication): ditto [ruby-core:72666] [Feature #11938] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
4b346b0e71
commit
778bbac8ac
11 changed files with 34 additions and 16 deletions
19
ChangeLog
19
ChangeLog
|
@ -1,3 +1,22 @@
|
|||
Sun Jan 10 09:14:42 2016 Eric Wong <e@80x24.org>
|
||||
|
||||
* ext/psych/lib/psych/visitors/yaml_tree.rb (visit_String):
|
||||
eliminate chomp
|
||||
* lib/net/http.rb (connect): eliminate delete
|
||||
* lib/net/http/header.rb (basic_encode): ditto
|
||||
* lib/net/imap.rb (authenticate): eliminate gsub
|
||||
(self.encode_utf7): shorten delete arg
|
||||
* lib/net/smtp.rb (base64_encode): eliminate gsub
|
||||
* lib/open-uri.rb (OpenURI.open_http): eliminate delete
|
||||
* lib/rss/rss.rb: ditto
|
||||
* lib/securerandom.rb (base64): ditto
|
||||
(urlsafe_base64): eliminate delete!
|
||||
* lib/webrick/httpauth/digestauth.rb (split_param_value):
|
||||
eliminate chop
|
||||
* lib/webrick/httpproxy.rb (do_CONNECT): eliminate delete
|
||||
(setup_upstream_proxy_authentication): ditto
|
||||
[ruby-core:72666] [Feature #11938]
|
||||
|
||||
Sat Jan 9 23:19:14 2016 Kuniaki IGARASHI <igaiga@gmail.com>
|
||||
|
||||
* test/ruby/test_hash.rb (test_try_convert): Add test for
|
||||
|
|
|
@ -314,7 +314,7 @@ module Psych
|
|||
tag = nil
|
||||
|
||||
if binary?(o)
|
||||
o = [o].pack('m').chomp
|
||||
o = [o].pack('m0')
|
||||
tag = '!binary' # FIXME: change to below when syck is removed
|
||||
#tag = 'tag:yaml.org,2002:binary'
|
||||
style = Nodes::Scalar::LITERAL
|
||||
|
|
|
@ -912,8 +912,7 @@ module Net #:nodoc:
|
|||
buf = "CONNECT #{@address}:#{@port} HTTP/#{HTTPVersion}\r\n"
|
||||
buf << "Host: #{@address}:#{@port}\r\n"
|
||||
if proxy_user
|
||||
credential = ["#{proxy_user}:#{proxy_pass}"].pack('m')
|
||||
credential.delete!("\r\n")
|
||||
credential = ["#{proxy_user}:#{proxy_pass}"].pack('m0')
|
||||
buf << "Proxy-Authorization: Basic #{credential}\r\n"
|
||||
end
|
||||
buf << "\r\n"
|
||||
|
|
|
@ -427,7 +427,7 @@ module Net::HTTPHeader
|
|||
end
|
||||
|
||||
def basic_encode(account, password)
|
||||
'Basic ' + ["#{account}:#{password}"].pack('m').delete("\r\n")
|
||||
'Basic ' + ["#{account}:#{password}"].pack('m0')
|
||||
end
|
||||
private :basic_encode
|
||||
|
||||
|
|
|
@ -419,7 +419,7 @@ module Net
|
|||
send_command("AUTHENTICATE", auth_type) do |resp|
|
||||
if resp.instance_of?(ContinuationRequest)
|
||||
data = authenticator.process(resp.data.text.unpack("m")[0])
|
||||
s = [data].pack("m").gsub(/\n/, "")
|
||||
s = [data].pack("m0")
|
||||
send_string_data(s)
|
||||
put_string(CRLF)
|
||||
end
|
||||
|
@ -1007,8 +1007,8 @@ module Net
|
|||
if $1
|
||||
"&-"
|
||||
else
|
||||
base64 = [$&.encode(Encoding::UTF_16BE)].pack("m")
|
||||
"&" + base64.delete("=\n").tr("/", ",") + "-"
|
||||
base64 = [$&.encode(Encoding::UTF_16BE)].pack("m0")
|
||||
"&" + base64.delete("=").tr("/", ",") + "-"
|
||||
end
|
||||
}.force_encoding("ASCII-8BIT")
|
||||
end
|
||||
|
|
|
@ -788,7 +788,7 @@ module Net
|
|||
|
||||
def base64_encode(str)
|
||||
# expects "str" may not become too long
|
||||
[str].pack('m').gsub(/\s+/, '')
|
||||
[str].pack('m0')
|
||||
end
|
||||
|
||||
IMASK = 0x36
|
||||
|
|
|
@ -285,7 +285,8 @@ module OpenURI
|
|||
target_port = proxy_uri.port
|
||||
request_uri = target.to_s
|
||||
if proxy_user && proxy_pass
|
||||
header["Proxy-Authorization"] = 'Basic ' + ["#{proxy_user}:#{proxy_pass}"].pack('m').delete("\r\n")
|
||||
header["Proxy-Authorization"] =
|
||||
'Basic ' + ["#{proxy_user}:#{proxy_pass}"].pack('m0')
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -1241,7 +1241,7 @@ EOC
|
|||
__send__(self.class.xml_getter).to_s
|
||||
else
|
||||
_content = content
|
||||
_content = [_content].pack("m").delete("\n") if need_base64_encode?
|
||||
_content = [_content].pack("m0") if need_base64_encode?
|
||||
h(_content)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -136,7 +136,7 @@ module Random::Formatter
|
|||
#
|
||||
# See RFC 3548 for the definition of base64.
|
||||
def base64(n=nil)
|
||||
[random_bytes(n)].pack("m*").delete("\n")
|
||||
[random_bytes(n)].pack("m0")
|
||||
end
|
||||
|
||||
# SecureRandom.urlsafe_base64 generates a random URL-safe base64 string.
|
||||
|
@ -166,8 +166,7 @@ module Random::Formatter
|
|||
#
|
||||
# See RFC 3548 for the definition of URL-safe base64.
|
||||
def urlsafe_base64(n=nil, padding=false)
|
||||
s = [random_bytes(n)].pack("m*")
|
||||
s.delete!("\n")
|
||||
s = [random_bytes(n)].pack("m0")
|
||||
s.tr!("+/", "-_")
|
||||
s.delete!("=") unless padding
|
||||
s
|
||||
|
|
|
@ -312,7 +312,7 @@ module WEBrick
|
|||
def generate_next_nonce(req)
|
||||
now = "%012d" % req.request_time.to_i
|
||||
pk = hexdigest(now, @instance_key)[0,32]
|
||||
nonce = [now + ":" + pk].pack("m*").chop # it has 60 length of chars.
|
||||
nonce = [now + ":" + pk].pack("m0") # it has 60 length of chars.
|
||||
nonce
|
||||
end
|
||||
|
||||
|
|
|
@ -143,7 +143,7 @@ module WEBrick
|
|||
if proxy = proxy_uri(req, res)
|
||||
proxy_request_line = "CONNECT #{host}:#{port} HTTP/1.0"
|
||||
if proxy.userinfo
|
||||
credentials = "Basic " + [proxy.userinfo].pack("m").delete("\n")
|
||||
credentials = "Basic " + [proxy.userinfo].pack("m0")
|
||||
end
|
||||
host, port = proxy.host, proxy.port
|
||||
end
|
||||
|
@ -294,7 +294,7 @@ module WEBrick
|
|||
if upstream = proxy_uri(req, res)
|
||||
if upstream.userinfo
|
||||
header['proxy-authorization'] =
|
||||
"Basic " + [upstream.userinfo].pack("m").delete("\n")
|
||||
"Basic " + [upstream.userinfo].pack("m0")
|
||||
end
|
||||
return upstream
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue