CGIライブラリの主なクラス・メソッド
CGIライブラリは、Webサーバーとアプリケーションプログラムとの古典的なインターフェイスであるCGIに関するライブラリです。
CGIライブラリで定義されている主なクラス・モジュールは、次のとおりです。
CGI CGI::QueryExtension
CGIクラス
CGIクラスは、HTTPヘッダーを生成するheaderメソッドと、いくつかのヘルパーメソッドを定義しています。
include/extendするモジュール:CGI::QueryExtensionモジュール
クラスメソッド
- escape(string)
- 文字列stringをURLエンコードします。
- escapeHTML(string)
- & " < >の4文字をエスケープします。
- rfc1123_date(time)
- HTTPヘッダなどで使われる形式に時刻を整形します。
- unescape(string)
- URLエンコードされた文字列stringを元に戻します。
- unescapeHTML(string)
- エスケープされた& " < >および&#xxを元に戻します。
インスタンスメソッド
- header(options = "text/html")
- HTTPヘッダ文字列を生成し、それを返します。
CGI::QueryExtensionモジュール
CGI::QueryExtensionモジュールは、利用者のWebブラウザからのフォームデータの受け入れと、環境変数へのアクセスのためのクラスです。
- [control_name]
- コントロール値を取り出す。戻り値はCGI::QueryExtension::Value(Stringの派生クラス)オブジェクト。
- cookies
- クッキーが格納されたハッシュを返す。
- cookies = hash
- クッキーが格納されたハッシュを設定する。
- has_key?(control_name)
- 引数control_nameで指定されるコントロール値があれば真を返す。
- keys
- コントロール名の配列を返す。
- params
- 同名のコントロールのコントロール値も含めて格納するハッシュを返す。
- params=
- ハッシュを設定する。
QueryExtensionモジュールは、上記のほか、環境変数にアクセスするためのメソッドも定義しています。環境変数はENV[]でも得ることができますが、QueryExtensionのメソッドを使うと、キーの打ち間違いを発見しやすくなります(エラーが発生する)。
メソッド名は、原則として環境変数名を小文字にしたものですが、いくつかバリエーションがあります。
- 次の環境変数は、名前を小文字にしたものがメソッド名になります。戻り値の型は文字列です。値が設定されていない場合はnilとなります。
AUTH_TYPE CONTENT_TYPE GATEWAY_INTERFACE PATH_INFO PATH_TRANSLATED QUERY_STRING REMOTE_ADDR REMOTE_HOST REMOTE_IDENT REMOTE_USER REQUEST_METHOD SCRIPT_NAME SERVER_NAME SERVER_PROTOCOL SERVER_SOFTWARE
- 次の環境変数は、先頭のHTTP_を除き、名前を小文字にしたメソッド名になります。戻り値の型は文字列です。
HTTP_ACCEPT HTTP_ACCEPT_CHARSET HTTP_ACCEPT_ENCODING HTTP_ACCEPT_LANGUAGE HTTP_CACHE_CONTROL HTTP_FROM HTTP_HOST HTTP_NEGOTIATE HTTP_PRAGMA HTTP_REFERER HTTP_USER_AGENT
- 次の環境変数に対応するメソッドは、名前を小文字にしたもので、戻り値の型はIntegerです。
CONTENT_LENGTH SERVER_PORT
- 次の環境変数は、左側の環境変数名に対して、右側のメソッド名が対応します。
HTTP_COOKIE raw_cookie HTTP_COOKIE2 raw_cookie2