WEBrickはWebサーバ用のツールキットです。WEBrickでCGIKitを動かすには、アプリケーションのインスタンスを生成し、サーブレットとしてマウントします。
CGIKit用のハンドラは3種類あります。
| ハンドラ | 説明 |
|---|---|
WEBrick::CGIKitServlet::PathHandler |
第2引数にコンポーネントパスを定義するハンドラ |
WEBrick::CGIKitServlet::HashHandler |
第2引数に、ハッシュでCKApplicationへのアクセサを定義するハンドラ |
WEBrick::CGIKitServlet::ApplicationHandler |
第2引数にCKApplicationオブジェクトを渡すハンドラ |
以下はApplicationHandlerを使った起動スクリプトです(付属サンプルのHelloWorldに添付してあります)。このスクリプトは、コンポーネントのパスとポート番号を指定して起動します。
% webrick-app.rb ‘.’ 8080
# webrick-app.rb [component_path [port]]
require 'webrick'
require 'cgikit'
path = ARGV.shift || Dir.pwd
port = (ARGV.shift || 8080).to_i
app = CKApplication.new
app.component_path = path
server = WEBrick::HTTPServer.new({:Port => port})
server.mount('/', WEBrick::CGIKitServlet::ApplicationHandler, app)
trap("INT"){ server.shutdown }
server.start