ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

WEBrickでHTTPサーバ

gserverより、こっちの方が本格的かも。ちと手軽さには欠けるけど。そして何故かやっぱりCtrl+Cで終了しない。なんで?
以下のサンプルは、ドキュメントルートが/work/rubyproject/webrickで、/script以下のディレクトリを含むURL(http://localhost:10080/script/〜とか)をリクエストすると、TestServletで定義されたサーバ動作が行われるというもの(らしい)。
ドキュメントの説明が不足していたので、Railsのソースを参考にさせてもらいました。スクリプト言語はその辺便利ですね。

require 'webrick'

class TestServlet < WEBrick::HTTPServlet::AbstractServlet
	def do_GET(req, res)
		res.body = "Hello, World!!" + req.query_string
	end
end

srv = WEBrick::HTTPServer.new({:DocumentRoot => '/work/rubyproject/webrick',
                               :BindAddress => '127.0.0.1',
                               :Port => 10080})
srv.mount('/script', TestServlet, {})
srv.start