webrick

執筆者募集

WEBrick::HTTPResponse

この文書中でのコード例では、実行前に常に以下のようなスクリプトを実行していることとする。

require 'webrick/httpresponse'

res = WEBrick::HTTPResponse.new({:HTTPVersion => '1.1'})

クラスメソッド

HTTPResponse.new(config)

HTTPResponse オブジェクトを生成する。config には設定を保存したハッシュを与える。 :HTTPVersion は必須。

インスタンスメソッド

self[field]

レスポンスのヘッダの該当する内容を文字列で返す。field の小文字・大文字は区別されない。

self[field]=val

レスポンスの該当するヘッダに val を設定する。field の小文字・大文字は区別されない。

res['pragma'] = 'no-cache'
body
body=val

クライアントに返す内容(メッセージボディ)を表す属性メソッド。値は文字列か nil 。

chunked?
chunked=(true or false)

レスポンスを chunk に分けてクライアントに返すかどうかを設定する。

content_type
content_type=val

Content-Type ヘッダを表す属性メソッド。値は文字列。ruby 1.8.0 の時点では存在しないメソッド。

content_length
content_length=val

Content-Length ヘッダを表す属性メソッド。値は整数(Integer)。ruby 1.8.0 の時点では存在しないメソッド。

cookies

WEBrick::Cookie の配列を返す。

each{|key, val| ... }

以下のコードと同じ。

header.each{|key, val|  ... }
header

ヘッダ名を key、内容を val とするハッシュを返す。key も val も文字列。また、 key は常に小文字。

http_version

HTTP のバージョンを WEBrick::HTTPVersion オブジェクトで返す。

res.http_version.class  #=> WEBrick::HTTPVersion
res.http_version.to_s   #=> '1.1'
keep_alive?
keep_alive
keep_alive=(true or false)

keep_alive をオンにするかどうかを設定する。

reason_phrase
reason_phrase=val

HTTP のレスポンスの最初の行の reason phrase を表す属性メソッド。値は文字列。

status=val に新たな値を代入すると、自動的に更新される。

res.status = 200
res.reason_phrase   #=> 'OK'
res.status = 500
res.reason_phrase   #=> 'Internal Server Error'
set_error(ex, backtrace = false)

執筆者募集

set_redirect(status, url)

執筆者募集

status
status=val

HTTP ステータスコードを表す属性メソッド。この値をセットすると、reason_phraseも自動的に更新される。

res.status          #=> 200
res.status = 500
status_line

HTTP リクエストラインを CR+LF 付きで返す。以下と同義。

"HTTP/#{http_version} #{status} #{reason_phrase} \r\n"


rubyist ML