一般の CGI 環境で WEBrick のサーブレットと同じように CGI スクリプトを書くためのクラスです。
new(config = {}, *options) -> WEBrick::CGI
[permalink][rdoc]WEBrick::CGI オブジェクトを生成してかえします。
config で有効なキーとその値は以下のとおりです。キーはすべて Symbol オブジェクトです。
サーバ名を文字列で指定します。デフォルトでは ENV["SERVER_SOFTWARE"] が使われます。 ENV["SERVER_SOFTWARE"] が nil の場合は "null" が使われます。
HTTP バージョンを WEBrick::HTTPVersion オブジェクトで指定します。デフォルトでは ENV["SERVER_PROTOCOL"] の HTTP バージョンが使われます。 ENV["SERVER_PROTOCOL"] が nil の場合 HTTP バージョンは 1.0 です。
NPH スクリプトとして実行される場合に true を指定します。そうでない場合に false を指定します。デフォルトは false です。
ログを取るための WEBrick::BasicLog オブジェクトを指定します。デフォルトでは標準エラー出力にログが出力されます。
リクエストを読み込む時のタイムアウトを秒で指定します。デフォルトは 30 秒です。
この値が true の場合、クライアントからのリクエスト URI に含まれる 8bit 目が立った文字をエスケープします。デフォルトは false です。
self[key] -> object
[permalink][rdoc]指定された key に対応した自身の設定値を返します。
config -> Hash
[permalink][rdoc]自身の設定を保持したハッシュを返します。
[SEE_ALSO] WEBrick::CGI.new
logger -> WEBrick::BasicLog
[permalink][rdoc]設定されているログオブジェクトを返します。
デフォルトでは WEBrick::BasicLog.new($stderr) です。
service(req, res) -> ()
[permalink][rdoc]指定された WEBrick::HTTPRequest オブジェクト req の WEBrick::HTTPRequest#request_method に応じて、自身の do_GET, do_HEAD, do_POST, do_OPTIONS... いずれかのメソッドを req と res を引数として呼びます。
特に理由が無い限り WEBrick::CGI のサブクラスがこのメソッドを定義する必要はありません。
start(env = ENV, stdin = $stdin, stdout = $stdout) -> ()
[permalink][rdoc]自身に定義されたサービスを実行します。
start メソッドは service メソッドを呼び出し、service メソッドはリクエストに応じて do_XXX メソッドを呼び出します。このようにして CGI スクリプトは実行されます。