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]

Methods

Classes