種類
- インスタンスメソッド (275)
- 文書 (37)
- ライブラリ (11)
- 特異メソッド (4)
ライブラリ
- ビルトイン (4)
-
net
/ http (176) -
net
/ imap (33) -
webrick
/ httpservlet / abstract (66)
クラス
- Data (4)
-
Net
:: HTTP (143) -
Net
:: HTTPResponse (22) -
Net
:: IMAP (33) -
WEBrick
:: HTTPServlet :: AbstractServlet (66)
モジュール
-
Net
:: HTTPExceptions (11)
キーワード
-
NEWS for Ruby 3
. 0 . 0 (4) -
add
_ response _ handler (22) - append (11)
- define (4)
-
do
_ DELETE (11) -
do
_ GET (11) -
do
_ HEAD (11) -
do
_ OPTIONS (11) -
do
_ POST (11) -
do
_ PUT (11) - get (22)
- get2 (22)
-
net
/ imap (11) - post (22)
- post2 (22)
-
read
_ body (11) -
request
_ get (22) -
request
_ post (22) -
ruby 1
. 8 . 3 feature (11) -
ruby 1
. 9 feature (11) -
send
_ request (11) - value (11)
- 制御構造 (11)
検索結果
先頭5件
- Net
:: HTTPExceptions # response -> Net :: HTTPResponse - Net
:: IMAP # append(mailbox , message , flags = nil , date _ time = nil) -> Net :: IMAP :: TaggedResponse - Net
:: IMAP # add _ response _ handler(handler) -> () - Net
:: IMAP # add _ response _ handler(handler) {|resp| . . . } -> () - Net
:: HTTP # send _ request(name , path , data = nil , header = nil) -> Net :: HTTPResponse
-
Net
:: HTTPExceptions # response -> Net :: HTTPResponse (21231.0) -
例外の原因となったレスポンスオブジェクトを返します。
...レスポンスオブジェクトを返します。
//emlist[例][ruby]{
require 'net/http'
uri = "http://www.example.com/invalid.html"
response = Net::HTTP.get_response(URI.parse(uri))
begin
response.value
rescue => e
e.response # => #<Net::HTTPNotFound 404 Not Found readbody=true>
end
//}... -
Net
:: IMAP # append(mailbox , message , flags = nil , date _ time = nil) -> Net :: IMAP :: TaggedResponse (9500.0) -
APPEND コマンドを送ってメッセージをメールボックスの末尾に追加します。
...APPEND コマンドを送ってメッセージをメールボックスの末尾に追加します。
例:
imap.append("inbox", <<EOF.gsub(/\n/, "\r\n"), [:Seen], Time.now)
Subject: hello
From: someone@example.com
To: somebody@example.com
hello world
EOF
@param mailbox メッセー......セージ文字列
@param flags メッセージに付加するフラグ(Symbol の配列)
@param date_time メッセージの時刻(Time オブジェクト)。省略時は現在時刻が使われる
@raise Net::IMAP::NoResponseError メールボックスが存在しない場合に発生します... -
Net
:: IMAP # add _ response _ handler(handler) -> () (9120.0) -
レスポンスハンドラを追加します。
...びだされます。ハンドラには
Net::IMAP::TaggedResponse もしくは
Net::IMAP::UntaggedResponse オブジェクトが
渡されます。
主にサーバからの非同期的なイベントを受け取るため
に用います。例えば EXISTS 応答を受け取る
(メールボック......ンドラはメインのスレッドとは別のスレッドで
呼びだされることに注意してください。
例:
imap.add_response_handler do |resp|
p resp
end
@param handler 追加するハンドラ(Proc や Method オブジェクト)
@see Net::IMAP#remove_response_handler... -
Net
:: IMAP # add _ response _ handler(handler) {|resp| . . . } -> () (9120.0) -
レスポンスハンドラを追加します。
...びだされます。ハンドラには
Net::IMAP::TaggedResponse もしくは
Net::IMAP::UntaggedResponse オブジェクトが
渡されます。
主にサーバからの非同期的なイベントを受け取るため
に用います。例えば EXISTS 応答を受け取る
(メールボック......ンドラはメインのスレッドとは別のスレッドで
呼びだされることに注意してください。
例:
imap.add_response_handler do |resp|
p resp
end
@param handler 追加するハンドラ(Proc や Method オブジェクト)
@see Net::IMAP#remove_response_handler... -
Net
:: HTTP # send _ request(name , path , data = nil , header = nil) -> Net :: HTTPResponse (6412.0) -
HTTP リクエストをサーバに送り、そのレスポンスを Net::HTTPResponse のインスタンスとして返します。
...HTTP リクエストをサーバに送り、そのレスポンスを
Net::HTTPResponse のインスタンスとして返します。
@param name リクエストのメソッド名を文字列で与えます。
@param path リクエストのパスを文字列で与えます。
@param data リクエ......ストのボディを文字列で与えます。
@param header リクエストのヘッダをハッシュで与えます。
//emlist[例][ruby]{
response = http.send_request('GET', '/index.html')
puts response.body
//}
@see Net::HTTP#request... -
WEBrick
:: HTTPServlet :: AbstractServlet # do _ OPTIONS(request , response) -> () (6224.0) -
自身の service メソッドから HTTP のリクエストに応じて 呼ばれるメソッドです。AbstractServlet のサブクラスはこれらのメソッドを適切に実装し なければいけません。返り値は特に規定されていません。
...自身の service メソッドから HTTP のリクエストに応じて
呼ばれるメソッドです。AbstractServlet のサブクラスはこれらのメソッドを適切に実装し
なければいけません。返り値は特に規定されていません。
クライアントが使う可......トからのリクエストを表す WEBrick::HTTPRequest オブジェクトです。
@param response クライアントへのレスポンスを表す WEBrick::HTTPResponse オブジェクトです。
例:
require 'webrick'
class HogeServlet < WEBrick::HTTPServlet::AbstractServlet
def do......_GET(req, res)
res.body = 'hoge'
end
end
srv = WEBrick::HTTPServer.new({ :DocumentRoot => './',
:BindAddress => '127.0.0.1',
:Port => 20080})
srv.mount('/', HogeServlet)
trap("INT"){ srv.shutdown }
srv.start... -
Data
. define(*args) -> Class (6172.0) -
Data クラスに新しいサブクラスを作って、それを返します。
...ドが定義されています。
//emlist[例][ruby]{
Dog = Data.define(:name, :age)
fred = Dog.new("Fred", 5)
p fred.name # => "Fred"
p fred.age # => 5
//}
メンバの値を書き換えることはできません。
//emlist[例][ruby]{
Dog = Data.define(:name, :age)
fred = Dog.new("Fred", 5)......ます。
//emlist[例][ruby]{
class HTTPFetcher
Response = Data.define(:body)
NotFound = Data.define
def get(url)
# ダミーの実装
if url == "http://example.com/"
Response.new(body: "Current time is #{Time.now}")
else
NotFound.new
end
end
end
def fetch(url......)
fetcher = HTTPFetcher.new
case fetcher.get(url)
in HTTPFetcher::Response(body)
body
in HTTPFetcher::NotFound
:NotFound
end
end
p fetch("http://example.com/") # => "Current time is 2023-01-10 10:00:53 +0900"
p fetch("http://example.com/404") # => :NotFound
//}
@param args... -
Data
. define(*args) {|subclass| block } -> Class (6172.0) -
Data クラスに新しいサブクラスを作って、それを返します。
...ドが定義されています。
//emlist[例][ruby]{
Dog = Data.define(:name, :age)
fred = Dog.new("Fred", 5)
p fred.name # => "Fred"
p fred.age # => 5
//}
メンバの値を書き換えることはできません。
//emlist[例][ruby]{
Dog = Data.define(:name, :age)
fred = Dog.new("Fred", 5)......ます。
//emlist[例][ruby]{
class HTTPFetcher
Response = Data.define(:body)
NotFound = Data.define
def get(url)
# ダミーの実装
if url == "http://example.com/"
Response.new(body: "Current time is #{Time.now}")
else
NotFound.new
end
end
end
def fetch(url......)
fetcher = HTTPFetcher.new
case fetcher.get(url)
in HTTPFetcher::Response(body)
body
in HTTPFetcher::NotFound
:NotFound
end
end
p fetch("http://example.com/") # => "Current time is 2023-01-10 10:00:53 +0900"
p fetch("http://example.com/404") # => :NotFound
//}
@param args... -
net
/ imap (6030.0) -
このライブラリは Internet Message Access Protocol (IMAP) の クライアントライブラリです。2060 を元に 実装されています。
...リは Internet Message Access Protocol (IMAP) の
クライアントライブラリです。2060 を元に
実装されています。
=== IMAP の概要
IMAPを利用するには、まずサーバに接続し、
Net::IMAP#authenticate もしくは
Net::IMAP#login で認証します。
IMAP で......et::IMAP.new('mail.example.com')
imap.authenticate('LOGIN', 'joe_user', 'joes_password')
imap.examine('INBOX')
imap.search(["RECENT"]).each do |message_id|
envelope = imap.fetch(message_id, "ENVELOPE")[0].attr["ENVELOPE"]
puts "#{envelope.from[0].name}: \t#{envelope.subject}"
end
20......ーバがタイムアウトする場合に発生します。
これらのエラーはそれぞれ
* Net::IMAP::NoResponseError
* Net::IMAP::BadResponseError
* Net::IMAP::ByeResponseError
という例外クラスに対応しています。
原理的には、これらの例外はサーバにコ... -
Net
:: HTTPResponse # read _ body(dest=nil) -> String|nil (3254.0) -
ブロックを与えなかった場合にはエンティティボディを 文字列で返します。 ブロックを与えた場合には エンティティボディを少しずつ取得して順次ブロックに 文字列で与えます。
...い場合には nil を返します。
//emlist[例1 ブロックを与えずに一度に結果取得][ruby]{
require 'net/http'
uri = "http://www.example.com/index.html"
response = Net::HTTP.get_response(URI.parse(uri))
response.read_body[0..10] # => "<!doctype h"
//}
//emlist[例2 ブロック......大きいファイルを取得][ruby]{
require 'net/http'
uri = URI.parse('http://www.example.com/path/to/big.file')
Net::HTTP.start(uri.host, uri.port) do |http|
File.open("/path/to/big.file", "w") do |f|
# Net::HTTP#request_get と Net::HTTPResponse#read_body で少しずつ読み書き。......メモリ消費が少ない。
http.request_get(uri.path) do |response|
response.read_body do |s|
f.write(s)
end
end
end
end
//}
一度ブロックを与えずにこのメソッドを呼んだ場合には、
次からはすでに読みだしたボディを文字列と... -
Net
:: HTTPResponse # value -> nil (3142.0) -
レスポンスが 2xx(成功)でなかった場合に、対応する 例外を発生させます。
...せます。
@raise HTTPError レスポンスが 1xx であるか、 net/http が知らない
種類のレスポンスである場合に発生します。
@raise HTTPRetriableError レスポンスが 3xx である場合に発生します。
@raise HTTPServerException レスポン......す。
@raise HTTPFatalError レスポンスが 5xx である場合に発生します。
//emlist[例 レスポンスが 2xx(成功)][ruby]{
require 'net/http'
uri = "http://www.example.com/index.html"
response = Net::HTTP.get_response(URI.parse(uri))
response.value # => nil
//}
//emlist[例 レ......スポンスが 2xx以外][ruby]{
require 'net/http'
uri = "http://www.example.com/invalid.html"
response = Net::HTTP.get_response(URI.parse(uri))
begin
response.value
rescue => e
e.class # => Net::HTTPServerException
e.message # => 404 "Not Found"
end
//}...