Ruby 2.4.0 リファレンスマニュアル > ライブラリ一覧 > webrick/httputilsライブラリ > WEBrick::HTTPUtils::FormDataクラス

class WEBrick::HTTPUtils::FormData

クラスの継承リスト: WEBrick::HTTPUtils::FormData < String < Comparable < Object < Kernel < BasicObject

要約

クライアントがフォームへ入力した値を表すクラスです。multipart/form-data なデータを表すのにも 使われます。

WEBrick::HTTPRequest#query はリクエストのクエリーあるいは クライアントがフォームへ入力した値を保持した Hash を返しますが、 その Hash のキーと値のうち値は FormData クラスのインスタンスになります。 同じ名前のフィールドが複数ある場合、WEBrick::HTTPUtils::FormData#listWEBrick::HTTPUtils::FormData#each_data によりそれぞれの値を取り出すことができます。

通常のフォームデータ(application/x-www-form-urlencoded)は unescape されています。 ただし multipart/form-data なフォームデータはユーザが content-transfer-encoding ヘッダを見て適切に処理する必要があります。

リンク

目次

特異メソッド
new
インスタンスメソッド
<< [] append_data each_data filename filename= list to_ary name name= to_s

特異メソッド

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 を返します。

[PARAM] header:
ヘッダ名を文字列で指定します。大文字と小文字を区別しません。

例:

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 属性を文字列で表すアクセサです。

[PARAM] 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 属性を文字列で表すアクセサです。

[PARAM] 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]

自身が表すフォームデータのうちのひとつを文字列として返します。