この文書中でのコード例では、実行前に常に以下のようなスクリプトを実行していることとする。
require 'webrick/httpresponse' res = WEBrick::HTTPResponse.new({:HTTPVersion => '1.1'})
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"