* lib/open-uri.rb: add :ftp_active_mode option.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
089cfabaf0
commit
24385e708e
@ -1,3 +1,7 @@
|
|||||||
|
Wed Aug 29 18:36:06 2007 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
|
* lib/open-uri.rb: add :ftp_active_mode option.
|
||||||
|
|
||||||
Wed Aug 29 12:48:17 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Wed Aug 29 12:48:17 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* parse.y (aref_args): args may not be a list. [ruby-dev:31592]
|
* parse.y (aref_args): args may not be a list. [ruby-dev:31592]
|
||||||
|
@ -98,6 +98,7 @@ module OpenURI
|
|||||||
:read_timeout => true,
|
:read_timeout => true,
|
||||||
:ssl_ca_cert => nil,
|
:ssl_ca_cert => nil,
|
||||||
:ssl_verify_mode => nil,
|
:ssl_verify_mode => nil,
|
||||||
|
:ftp_active_mode => false,
|
||||||
}
|
}
|
||||||
|
|
||||||
def OpenURI.check_options(options) # :nodoc:
|
def OpenURI.check_options(options) # :nodoc:
|
||||||
@ -607,6 +608,15 @@ module OpenURI
|
|||||||
# OpenURI::OpenRead#open returns an IO like object if block is not given.
|
# OpenURI::OpenRead#open returns an IO like object if block is not given.
|
||||||
# Otherwise it yields the IO object and return the value of the block.
|
# Otherwise it yields the IO object and return the value of the block.
|
||||||
# The IO object is extended with OpenURI::Meta.
|
# The IO object is extended with OpenURI::Meta.
|
||||||
|
#
|
||||||
|
# [:ftp_active_mode]
|
||||||
|
# Synopsis:
|
||||||
|
# :ftp_active_mode=>bool
|
||||||
|
#
|
||||||
|
# :ftp_active_mode=>true is used to make ftp active mode.
|
||||||
|
# Note that the active mode is default in Ruby 1.8 or prior.
|
||||||
|
# Ruby 1.9 uses passive mode by default.
|
||||||
|
#
|
||||||
def open(*rest, &block)
|
def open(*rest, &block)
|
||||||
OpenURI.open_uri(self, *rest, &block)
|
OpenURI.open_uri(self, *rest, &block)
|
||||||
end
|
end
|
||||||
@ -743,7 +753,7 @@ module URI
|
|||||||
|
|
||||||
# The access sequence is defined by RFC 1738
|
# The access sequence is defined by RFC 1738
|
||||||
ftp = Net::FTP.open(self.host)
|
ftp = Net::FTP.open(self.host)
|
||||||
ftp.passive = true
|
ftp.passive = true if !options[:ftp_active_mode]
|
||||||
# todo: extract user/passwd from .netrc.
|
# todo: extract user/passwd from .netrc.
|
||||||
user = 'anonymous'
|
user = 'anonymous'
|
||||||
passwd = nil
|
passwd = nil
|
||||||
|
Loading…
x
Reference in New Issue
Block a user