Returns data (e.g., size, last modification time, entry type, etc.) about the file or directory specified by pathname
. If pathname
is omitted, the current directory is assumed.
Returns system information.
Returns the status (STAT command).
when stat is invoked with pathname as a parameter it acts like list but a lot faster and over the same tcp session.
Posts data to the specified URI
object.
Example:
require 'net/http' require 'uri' Net::HTTP.post URI('http://www.example.com/api/search'), { "q" => "ruby", "max" => "50" }.to_json, "Content-Type" => "application/json"
Creates a new Net::HTTP
object, then additionally opens the TCP connection and HTTP
session.
Arguments are the following:
hostname or IP address of the server
port of the server
address of proxy
port of proxy
user of proxy
pass of proxy
optional hash
opt sets following values by its accessor. The keys are ipaddr, ca_file
, ca_path
, cert, cert_store
, ciphers, keep_alive_timeout
, close_on_empty_response
, key, open_timeout
, read_timeout
, write_timeout
, ssl_timeout
, ssl_version
, use_ssl, verify_callback
, verify_depth
and verify_mode. If you set :use_ssl as true, you can use https and default value of verify_mode
is set as OpenSSL::SSL::VERIFY_PEER.
If the optional block is given, the newly created Net::HTTP
object is passed to it and closed when the block finishes. In this case, the return value of this method is the return value of the block. If no block is given, the return value of this method is the newly created Net::HTTP
object itself, and the caller is responsible for closing it upon completion using the finish() method.
Returns true if the HTTP
session has been started.
Opens a TCP connection and HTTP
session.
When this method is called with a block, it passes the Net::HTTP
object to the block, and closes the TCP connection and HTTP
session after the block has been executed.
When called with a block, it returns the return value of the block; otherwise, it returns self.
Finishes the HTTP
session and closes the TCP connection. Raises IOError
if the session has not been started.
Posts data
(must be a String
) to path
. header
must be a Hash
like { ‘Accept’ => ‘/’, … }.
This method returns a Net::HTTPResponse
object.
If called with a block, yields each fragment of the entity body in turn as a string as it is read from the socket. Note that in this case, the returned response object will not contain a (meaningful) body.
dest
argument is obsolete. It still works but you must not use it.
This method never raises exception.
response = http.post('/cgi-bin/search.rb', 'query=foo') # using block File.open('result.txt', 'w') {|f| http.post('/cgi-bin/search.rb', 'query=foo') do |str| f.write str end }
You should set Content-Type: header field for POST. If no Content-Type: field given, this method uses “application/x-www-form-urlencoded” by default.
Sends a PROPFIND request to the path
and gets a response, as an HTTPResponse
object.
Sends a TRACE request to the path
and gets a response, as an HTTPResponse
object.
Sends an HTTPRequest
object req
to the HTTP
server.
If req
is a Net::HTTP::Post
or Net::HTTP::Put
request containing data, the data is also sent. Providing data for a Net::HTTP::Head
or Net::HTTP::Get
request results in an ArgumentError
.
Returns an HTTPResponse
object.
When called with a block, passes an HTTPResponse
object to the block. The body of the response will not have been read yet; the block can process it using HTTPResponse#read_body
, if desired.
This method never raises Net::* exceptions.
Sends a STARTTLS command to start TLS session.
Sends a LOGIN command to identify the client and carries the plaintext password
authenticating this user
. Note that, unlike calling authenticate()
with an auth_type
of “LOGIN”, login()
does not use the login authenticator.
A Net::IMAP::NoResponseError
is raised if authentication fails.
Sends a EXAMINE command to select a mailbox
so that messages in the mailbox
can be accessed. Behaves the same as select()
, except that the selected mailbox
is identified as read-only.
A Net::IMAP::NoResponseError
is raised if the mailbox does not exist or is for some reason non-examinable.
Sends a SUBSCRIBE command to add the specified mailbox
name to the server’s set of “active” or “subscribed” mailboxes as returned by lsub()
.
A Net::IMAP::NoResponseError
is raised if mailbox
cannot be subscribed to; for instance, because it does not exist.
Sends a UNSUBSCRIBE command to remove the specified mailbox
name from the server’s set of “active” or “subscribed” mailboxes.
A Net::IMAP::NoResponseError
is raised if mailbox
cannot be unsubscribed from; for instance, because the client is not currently subscribed to it.
Sends a LIST command, and returns a subset of names from the complete set of all names available to the client. refname
provides a context (for instance, a base directory in a directory-based mailbox hierarchy). mailbox
specifies a mailbox or (via wildcards) mailboxes under that context. Two wildcards may be used in mailbox
: ‘*’, which matches all characters including the hierarchy delimiter (for instance, ‘/’ on a UNIX-hosted directory-based mailbox hierarchy); and ‘%’, which matches all characters except the hierarchy delimiter.
If refname
is empty, mailbox
is used directly to determine which mailboxes to match. If mailbox
is empty, the root name of refname
and the hierarchy delimiter are returned.
The return value is an array of Net::IMAP::MailboxList
. For example:
imap.create("foo/bar") imap.create("foo/baz") p imap.list("", "foo/%") #=> [#<Net::IMAP::MailboxList attr=[:Noselect], delim="/", name="foo/">, \\ #<Net::IMAP::MailboxList attr=[:Noinferiors, :Marked], delim="/", name="foo/bar">, \\ #<Net::IMAP::MailboxList attr=[:Noinferiors], delim="/", name="foo/baz">]
Sends a XLIST command, and returns a subset of names from the complete set of all names available to the client. refname
provides a context (for instance, a base directory in a directory-based mailbox hierarchy). mailbox
specifies a mailbox or (via wildcards) mailboxes under that context. Two wildcards may be used in mailbox
: ‘*’, which matches all characters including the hierarchy delimiter (for instance, ‘/’ on a UNIX-hosted directory-based mailbox hierarchy); and ‘%’, which matches all characters except the hierarchy delimiter.
If refname
is empty, mailbox
is used directly to determine which mailboxes to match. If mailbox
is empty, the root name of refname
and the hierarchy delimiter are returned.
The XLIST command is like the LIST command except that the flags returned refer to the function of the folder/mailbox, e.g. :Sent
The return value is an array of Net::IMAP::MailboxList
. For example:
imap.create("foo/bar") imap.create("foo/baz") p imap.xlist("", "foo/%") #=> [#<Net::IMAP::MailboxList attr=[:Noselect], delim="/", name="foo/">, \\ #<Net::IMAP::MailboxList attr=[:Noinferiors, :Marked], delim="/", name="foo/bar">, \\ #<Net::IMAP::MailboxList attr=[:Noinferiors], delim="/", name="foo/baz">]
Sends a STATUS command, and returns the status of the indicated mailbox
. attr
is a list of one or more attributes whose statuses are to be requested. Supported attributes include:
MESSAGES:: the number of messages in the mailbox. RECENT:: the number of recent messages in the mailbox. UNSEEN:: the number of unseen messages in the mailbox.
The return value is a hash of attributes. For example:
p imap.status("inbox", ["MESSAGES", "RECENT"]) #=> {"RECENT"=>0, "MESSAGES"=>44}
A Net::IMAP::NoResponseError
is raised if status values for mailbox
cannot be returned; for instance, because it does not exist.
Sends a EXPUNGE command to permanently remove from the currently selected mailbox all messages that have the Deleted flag set.