Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > webrick/httputilsライブラリ > WEBrick::HTTPUtils::FormDataクラス
クラスの継承リスト: WEBrick::HTTPUtils::FormData < String < Enumerable < Comparable < Object < Kernel
クライアントがフォームへ入力した値を表すクラスです。multipart/form-data なデータを表すのにも 使われます。
WEBrick::HTTPRequest#query はリクエストのクエリーあるいは クライアントがフォームへ入力した値を保持した Hash を返しますが、 その Hash のキーと値のうち値は FormData クラスのインスタンスになります。 同じ名前のフィールドが複数ある場合、WEBrick::HTTPUtils::FormData#list や WEBrick::HTTPUtils::FormData#each_data によりそれぞれの値を取り出すことができます。
通常のフォームデータ(application/x-www-form-urlencoded)は unescape されています。 ただし multipart/form-data なフォームデータはユーザが content-transfer-encoding ヘッダを見て適切に処理する必要があります。
new(*args) -> WEBrick::HTTPUtils::FormData[permalink][rdoc]WEBrick::HTTPUtils の内部で使われます。ユーザがこのメソッドを直接呼ぶことはありません。
self << str -> self[permalink][rdoc]WEBrick::HTTPUtils の内部で使われます。ユーザがこのメソッドを直接呼ぶことはありません。
self[header] -> String | nil[permalink][rdoc]自身が multipart/form-data なデータの場合に、header で指定された ヘッダの値を文字列で返します。無ければ nil を返します。
例:
require "webrick/cgi"
class MyCGI < WEBrick::CGI
def do_GET(req, res)
p req.query['q']['content-type'] #=> "plain/text"
end
end
MyCGI.new.start()
append_data(data) -> self[permalink][rdoc]WEBrick::HTTPUtils の内部で使われます。ユーザがこのメソッドを直接呼ぶことはありません。
each_data {|s| ... }[permalink][rdoc]自身が表す各フォームデータを引数として、与えられたブロックを実行します。
例:
require "webrick/cgi"
class MyCGI < WEBrick::CGI
def do_GET(req, res)
req.query['q'].each_data{|s|
p s
}
#=> "val1"
"val2"
"val3"
end
end
MyCGI.new.start()
filename -> String | nil[permalink][rdoc]filename=(value)フォームデータの filename 属性を文字列で表すアクセサです。
例:
require "webrick/cgi"
class MyCGI < WEBrick::CGI
def do_GET(req, res)
p req.query['q'].filename #=> "my_file.txt"
end
end
MyCGI.new.start()
list -> Array[permalink][rdoc]to_ary -> Array自身が表す各フォームデータを収納した配列を生成して返します。
例:
require "webrick/cgi"
class MyCGI < WEBrick::CGI
def do_GET(req, res)
p req.query['q'].list #=> ["val1", "val2", "val3"]
end
end
MyCGI.new.start()
name -> String | nil[permalink][rdoc]name=(value)フォームデータの name 属性を文字列で表すアクセサです。
例:
require "webrick/cgi"
class MyCGI < WEBrick::CGI
def do_GET(req, res)
p req.query['q'].name #=> "q"
end
end
MyCGI.new.start()
to_s -> String[permalink][rdoc]自身が表すフォームデータのうちのひとつを文字列として返します。