Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > webrick/httprequestライブラリ > WEBrick::HTTPRequestクラス
class WEBrick::HTTPRequest
クラスの継承リスト: WEBrick::HTTPRequest < Object < Kernel < BasicObject
Abstract
HTTP リクエストのためのクラスです。
通常 WEBrick::HTTPRequest オブジェクトはサーブレットの service メソッドや do_XXX メソッドの 引数として与えられるものであり、ユーザが明示的に生成する必要はありません。
特異メソッド
new(config)
-
WEBrick::HTTPRequest を生成して返します。
- [PARAM] config:
- 設定を保持したハッシュを指定します。
インスタンスメソッド
self[header_name] -> String
-
リクエストのヘッダの該当する内容を文字列で返します。
- [PARAM] header_name:
- ヘッダー名を文字列で指定します。大文字と小文字を区別しません。
accept -> [String]
-
Accept ヘッダの内容をメディアタイプを表す文字列の配列で返します。 配列は品質係数(qvalue)でソートされています。
accept_charset -> [String]
-
Accept-Charset ヘッダの内容を文字セットを表す文字列の配列で返します。 配列は品質係数(qvalue)でソートされています。
accept_encoding -> [String]
-
Accept-Encoding ヘッダの内容をコーディングを表す文字列の配列で返します。 配列は品質係数(qvalue)でソートされています。
accept_language -> [String]
-
Accept-Language ヘッダの内容を自然言語を表す文字列の配列で返します。 配列は品質係数(qvalue)でソートされています。
addr -> Array
-
クライアントと接続されているソケットの IPSocket#addr を返します。
attributes -> Hash
body -> String | nil
body {|chunk| ... } -> String | nil
-
クライアントからエンティティボディを読み込み返します。 リクエストにエンティティボディが含まれない場合は nil を返します。
リクエストが chunked 形式であっても返り値はデコードされて返されます。 2回目の呼び出し以降は最初に読み込んだエンティティボディを返します。 ブロックを指定された場合、クライアントからデータを読み込むたびにそのデータ(文字列) を引数としてブロックを実行します。リクエストが chunked 形式であっても引数はデコードされています。
content_length -> Integer
-
リクエストの Content-Length ヘッダの値を整数で返します。リクエストに Content-Length ヘッダ が含まれていない場合は 0 を返します。
content_type -> String | nil
-
リクエストの Content-Type ヘッダを文字列で返す。
cookies -> [WEBrick::Cookie]
-
リクエストに含まれる Cookie ヘッダの値を WEBrick::Cookie の配列として返します。
each {|key, val| ... }
-
リクエストの各ヘッダ名を key、内容を val としてブロックを評価します。
fixup -> ()
-
リクエストの残りのエンティティボディを読み込みます。
header -> Hash
-
ヘッダ名をキー、内容をその値とするハッシュを返します。キーも値も文字列です。
host -> String
-
リクエスト URI の host を文字列で返す。
http_version -> WEBrick::HTTPVersion
-
リクエストの HTTP バージョンを表す WEBrick::HTTPVersion オブジェクトを返します。
keep_alive -> bool
keep_alive? -> bool
-
リクエストが Keep-Alive を要求しているかを真偽で返します。 http_version が 1.1 より小さい場合は Keep-Alive を要求していても無視して false となります。
meta_vars
[redefined by webrick/https]meta_vars -> Hash
-
This method provides the metavariables defined by the revision 3 of ``The WWW Common Gateway Interface Version 1.1''. http://Web.Golux.Com/coar/cgi/.
parse(socket = nil)
[redefined by webrick/https]parse(socket = nil) -> ()
-
指定された socket からクライアントのリクエストを読み込み、 自身のアクセサなどを適切に設定します。
- [PARAM] socket:
- クライアントに接続された IO オブジェクトを指定します。
parse_uri(str, scheme = "http")
[redefined by webrick/https]path -> String
-
リクエスト URI のパスを表す文字列を返します。
path_info -> String
path_info=(value)
-
リクエスト URI のパスを文字列で表すアクセサです。デフォルトは path と同じです。
- [PARAM] value:
peeraddr -> Array
-
クライアントと接続されているソケットの IPSocket#peeraddr を返します。
port -> String
-
サーバのポートを文字列で返します。
query -> Hash
-
リクエストのクエリーあるいはクライアントがフォームへ入力した値を表すハッシュを返します。
ハッシュのキーも値も unescape されています。ただし multipart/form-data なフォームデータの場合には ユーザが content-transfer-encoding ヘッダを見て適切に処理する必要があります。
ハッシュの値は正確には文字列ではなく String クラスのサブクラスである [[c: WEBrick::HTTPUtils::FormData]] クラスのインスタンスです。
multipart/form-data なフォームデータであってもサイズの制限なく、通常のフォームデータと 同じように扱われることに注意してください。クライアントからの入力によっては巨大な文字列が 生成されてしまいます。
例:
h = req.query p h['q'] #=> "ruby rails session" p h['upfile']['content-type'] #=> "plain/text" p h['upfile'].filename #=> "my_file.txt" p h['upfile'] #=> "hoge hoge hoge"
query_string -> String
query_string=(value)
-
リクエスト URI のクエリーを文字列で表すアクセサです。 デフォルトは request_uri.query です。
- [PARAM] value:
- クエリーを表す文字列を指定します。
raw_header
request_line
-
クライアントのリクエストの最初の行(GET / HTTP/1.1)を文字列で返す。
request_method -> String
-
クライアントのリクエストの HTTP メソッド(GET, POST,...)を文字列で返す。
request_time -> Time
-
リクエストされた時刻を Time オブジェクトで返す。
request_uri
-
リクエスト URI を表す URI オブジェクトを返します。
script_name -> String
script_name=(value)
-
CGI での環境変数 SCRIPT_NAME を文字列で表すアクセサです。
- [PARAM] value:
to_s -> String
-
リクエストのヘッダとボディをまとめて文字列として返します。
unparsed_uri -> String
-
リクエストの URI を文字列で返します。
user -> String
user=(value)
-
REMOTE_USER を文字列で表すアクセサです。
- [PARAM] value:
- ユーザ名を文字列で指定します。
追加されるメソッド
cipher
[added by webrick/https]client_cert
[added by webrick/https]server_cert
[added by webrick/https]