summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authoraamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-03-13 05:48:58 +0000
committeraamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-03-13 05:48:58 +0000
commit1a7cb01d6410dc7c56b46ef51b188bdf87b5fd4c (patch)
tree9d7108ce6de0b46c0fe7dab59edee2551b76c702 /lib
parente502549be1bea41406ccef0e819b0e9cb8cdb069 (diff)
aamine
* lib/net/http.rb: add HTTPRequest#basic_auth. * lib/net/smtp.rb: raise if only account or password is given. * lib/net/protocol.rb: WriteAdapter#<< returns self. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/net/http.rb7
-rw-r--r--lib/net/protocol.rb5
-rw-r--r--lib/net/smtp.rb13
3 files changed, 17 insertions, 8 deletions
diff --git a/lib/net/http.rb b/lib/net/http.rb
index 473cf5d8a3..bbe98274f4 100644
--- a/lib/net/http.rb
+++ b/lib/net/http.rb
@@ -504,7 +504,10 @@ module Net
end
def self.get_print( addr, path, port = nil )
- print get( addr, path, port )
+ new( addr, port || HTTP.port ).start {|http|
+ http.get path, nil, $stdout
+ }
+ nil
end
@@ -733,7 +736,7 @@ module Net
end
def basic_auth( acc, pass )
- @header['authorization'] = ["#{acc}:#{pass}"].pack('m').gsub(/\s+/, '')
+ @header['authorization'] = 'Basic ' + ["#{acc}:#{pass}"].pack('m').strip
end
end
diff --git a/lib/net/protocol.rb b/lib/net/protocol.rb
index 7018158315..a440ef0817 100644
--- a/lib/net/protocol.rb
+++ b/lib/net/protocol.rb
@@ -363,7 +363,10 @@ module Net
@sock.__send__ @mid, str
end
- alias << write
+ def <<( str )
+ @sock.__send__ @mid, str
+ self
+ end
end
diff --git a/lib/net/smtp.rb b/lib/net/smtp.rb
index 2e8377cddd..3b1d100fb3 100644
--- a/lib/net/smtp.rb
+++ b/lib/net/smtp.rb
@@ -153,12 +153,15 @@ module Net
end
end
- if user and secret then
+ if user or secret then
+ (user and secret) or
+ raise ArgumentError, "both of account and password are required"
+
mid = 'auth_' + (authtype || 'cram_md5').to_s
- unless @command.respond_to? mid then
- raise ArgumentError, "wrong auth type #{authtype.to_s}"
- end
- @command.send mid, user, secret
+ @command.respond_to? mid or
+ raise ArgumentError, "wrong auth type #{authtype.to_s}"
+
+ @command.__send__ mid, user, secret
end
end