class WEBrick::HTTPUtils::FormData

[edit]

要約

クライアントがフォームへ入力した値を表すクラスです。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 ヘッダを見て適切に処理する必要があります。

リンク

目次

特異メソッド
インスタンスメソッド

継承しているメソッド

Stringから継承しているメソッド
Comparableから継承しているメソッド

特異メソッド

new(*args) -> WEBrick::HTTPUtils::FormData[permalink][rdoc][edit]

WEBrick::HTTPUtils の内部で使われます。ユーザがこのメソッドを直接呼ぶことはありません。

インスタンスメソッド

self << str -> self[permalink][rdoc][edit]

WEBrick::HTTPUtils の内部で使われます。ユーザがこのメソッドを直接呼ぶことはありません。

self[header] -> String | nil[permalink][rdoc][edit]

自身が 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][edit]

WEBrick::HTTPUtils の内部で使われます。ユーザがこのメソッドを直接呼ぶことはありません。

each_data {|s| ... }[permalink][rdoc][edit]

自身が表す各フォームデータを引数として、与えられたブロックを実行します。

例:

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

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