class WEBrick::HTTPRequest

要約

HTTP リクエストのためのクラスです。

通常 WEBrick::HTTPRequest オブジェクトはサーブレットの service メソッドや do_XXX メソッドの引数として与えられるものであり、ユーザが明示的に生成する必要はありません。

目次

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

特異メソッド

new(config) -> WEBrick::HTTPRequest[permalink][rdoc]

WEBrick::HTTPRequest を生成して返します。

[PARAM] config:
設定を保持したハッシュを指定します。

インスタンスメソッド

self[header_name] -> String[permalink][rdoc]

リクエストのヘッダの該当する内容を文字列で返します。

[PARAM] header_name:
ヘッダー名を文字列で指定します。大文字と小文字を区別しません。
accept -> [String][permalink][rdoc]

Accept ヘッダの内容をメディアタイプを表す文字列の配列で返します。配列は品質係数(qvalue)でソートされています。

accept_charset -> [String][permalink][rdoc]

Accept-Charset ヘッダの内容を文字セットを表す文字列の配列で返します。配列は品質係数(qvalue)でソートされています。

accept_encoding -> [String][permalink][rdoc]

Accept-Encoding ヘッダの内容をコーディングを表す文字列の配列で返します。配列は品質係数(qvalue)でソートされています。

accept_language -> [String][permalink][rdoc]

Accept-Language ヘッダの内容を自然言語を表す文字列の配列で返します。配列は品質係数(qvalue)でソートされています。

addr -> Array[permalink][rdoc]

クライアントと接続されているソケットの IPSocket#addr を返します。

attributes -> Hash[permalink][rdoc]

[TODO] ???

body -> String | nil[permalink][rdoc]
body {|chunk| ... } -> String | nil

クライアントからエンティティボディを読み込み返します。リクエストにエンティティボディが含まれない場合は nil を返します。

リクエストが chunked 形式であっても返り値はデコードされて返されます。 2回目の呼び出し以降は最初に読み込んだエンティティボディを返します。ブロックを指定された場合、クライアントからデータを読み込むたびにそのデータ(文字列) を引数としてブロックを実行します。リクエストが chunked 形式であっても引数はデコードされています。

content_length -> Integer[permalink][rdoc]

リクエストの Content-Length ヘッダの値を整数で返します。リクエストに Content-Length ヘッダが含まれていない場合は 0 を返します。

content_type -> String | nil[permalink][rdoc]

リクエストの Content-Type ヘッダを文字列で返します。

continue[permalink][rdoc]

[TODO] 1.9.3

Generate HTTP/1.1 100 continue response if the client expects it, otherwise does nothing.

cookies -> [WEBrick::Cookie][permalink][rdoc]

リクエストに含まれる Cookie ヘッダの値を WEBrick::Cookie の配列として返します。

each {|key, val| ... }[permalink][rdoc]

リクエストの各ヘッダ名を key、内容を val としてブロックを評価します。

fixup -> ()[permalink][rdoc]

リクエストの残りのエンティティボディを読み込みます。

header -> Hash[permalink][rdoc]

ヘッダ名をキー、内容をその値とするハッシュを返します。キーも値も文字列です。

host -> String[permalink][rdoc]

リクエスト URI の host を文字列で返します。

http_version -> WEBrick::HTTPVersion[permalink][rdoc]

リクエストの HTTP バージョンを表す WEBrick::HTTPVersion オブジェクトを返します。

keep_alive -> bool[permalink][rdoc]
keep_alive? -> bool

リクエストが Keep-Alive を要求しているかを真偽で返します。 http_version が 1.1 より小さい場合は Keep-Alive を要求していても無視して false となります。

meta_vars -> Hash[permalink][rdoc]

メタ変数を返します。

メタ変数は「The WWW Common Gateway Interface Version 1.1」のバージョン 3 で定義されています。

[SEE_ALSO] http://Web.Golux.Com/coar/cgi/

meta_vars -> Hash[permalink][rdoc] [redefined by webrick/https]

メタ変数を返します。

parse(socket = nil) -> ()[permalink][rdoc] [redefined by webrick/https]

指定された socket からクライアントのリクエストを読み込み、自身のアクセサなどを適切に設定します。

[PARAM] socket:
クライアントに接続された IO オブジェクトを指定します。
parse(socket = nil) -> ()[permalink][rdoc]

指定された socket からクライアントのリクエストを読み込み、自身のアクセサなどを適切に設定します。

[PARAM] socket:
クライアントに接続された IO オブジェクトを指定します。
path -> String[permalink][rdoc]

リクエスト URI のパスを表す文字列を返します。

path_info -> String[permalink][rdoc]

リクエスト URI のパスを文字列で返します。デフォルトは path と同じです。

path_info=(value)[permalink][rdoc]

リクエスト URI のパスをセットします。

[PARAM] value:
リクエスト URI のパスを指定します。
peeraddr -> Array[permalink][rdoc]

クライアントと接続されているソケットの IPSocket#peeraddr を返します。

port -> String[permalink][rdoc]

サーバのポートを文字列で返します。

query -> Hash[permalink][rdoc]

リクエストのクエリーあるいはクライアントがフォームへ入力した値を表すハッシュを返します。

ハッシュのキーも値も unescape されています。ただし multipart/form-data なフォームデータの場合にはユーザが content-transfer-encoding ヘッダを見て適切に処理する必要があります。

ハッシュの値は正確には文字列ではなく String クラスのサブクラスである 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[permalink][rdoc]

リクエスト URI のクエリーを文字列で表すアクセサです。デフォルトは request_uri.query です。

query_string=(value)[permalink][rdoc]

リクエスト URI のクエリーを文字列で表すアクセサです。デフォルトは request_uri.query です。

[PARAM] value:
クエリーを表す文字列を指定します。
raw_header -> String[permalink][rdoc]

生のヘッダを返します。

request_line -> String[permalink][rdoc]

クライアントのリクエストの最初の行(GET / HTTP/1.1)を文字列で返します。

request_method -> String[permalink][rdoc]

クライアントのリクエストの HTTP メソッド(GET, POST,...)を文字列で返します。

request_time -> Time[permalink][rdoc]

リクエストされた時刻を Time オブジェクトで返します。

request_uri -> URI[permalink][rdoc]

リクエスト URI を表す URI オブジェクトを返します。

script_name -> String[permalink][rdoc]

CGI での環境変数 SCRIPT_NAME を文字列で表すアクセサです。

script_name=(value)[permalink][rdoc]

CGI での環境変数 SCRIPT_NAME を文字列で表すアクセサです。

[PARAM] value:
SCRIPT_NAME を文字列で指定します。
server_name -> String[permalink][rdoc]

サーバの名前を返します。

ssl? -> bool[permalink][rdoc]

リクエスト URI のスキームが https であれば真を返します。そうでない場合は偽を返します。

to_s -> String[permalink][rdoc]

リクエストのヘッダとボディをまとめて文字列として返します。

unparsed_uri -> String[permalink][rdoc]

リクエストの URI を文字列で返します。

user -> String[permalink][rdoc]

REMOTE_USER を文字列として返します。

user=(value)[permalink][rdoc]

REMOTE_USER を文字列で表したものに値をセットします。

[PARAM] value:
ユーザ名を文字列で指定します。