いまさらながら、CGI と FastCGI プログラムに共通のインタフェースを提供するクラス
CGI と FastCGI プログラムに共通のインタフェースを提供します。WEB サーバとのデータ受け渡しは、リクエストオブジェクト (Tenarai::CGI::Request) からのデータ読み取り (入力) と、レスポンスオブジェクト (Tenarai::CGI::Response) へのデータ書き込み (出力) に抽象化されます。これにより、同じコードが CGI と FastCGI の両方で動作します。また、CGI と FastCGI の切り替えは内部で自動的に行われるので、パラメータの指定などは必要ありません。ただし、FastCGI のサポートは内部で fcgi.rb を使っているので、ライブラリパスに fcgi.rb が必要となります。
その他、クラスメソッドとして、CGI でよく使う URI エスケープ / URI アンエスケープと、日付変換メソッドを提供しています。
実行結果
Status: 200 OK Content-Type: text/plain Hello World!
文字列を RFC2396 で定義されている URI エスケープして返します
実行結果
a%3db%26c%3dd
文字列をRFC2396 で定義されている URI アンエスケープして返します
実行結果
a=b&c=d
Time オブジェクトを RFC2822 形式の文字列に変換して返します
実行結果
Thu, 27 Mar 2008 12:30:45 GMT
ブロック引数に Tenarai::CGI::Request オブジェクトと Tenarai::CGI::Response オブジェクトが代入されます。
このブロック引数に代入された Tenarai::CGI::Request オブジェクトから、CGI 環境変数やアップロードされたファイルやクッキーといった、HTTP クライアントからのリクエストや CGI が動作しているサーバの情報を取得することが出来ます。
また、ブロック引数に代入された Tenarai::CGI::Response オブジェクトに、HTTP のレスポンスコードやヘッダー、またクッキーやコンテンツといった HTTP クライアントへ対する応答を設定することが出来ます。これらの内容はブロック実行後にクライアントへ自動的に送信されます。
ブロック内の処理は CGI と FastCGI 環境で共通して動作します。
[PageInfo]
LastUpdate: 2008-04-16 19:01:42, ModifiedBy: junkikuchi
[Permissions]
view:all, edit:members, delete/config:members