#!/usr/bin/env ruby # coding:utf-8 require 'webrick' rrr = WEBrick::HTTPServlet::CGIHandler::Ruby $ruby = $ruby || rrr # CGIインタプリタのための準備?$ruby? module WEBrick module HTTPServlet FileHandler.add_handler("rb", CGIHandler) end end def start_webrick(config = {}) conf = { :Port => 8080, :BindAddress => '127.0.0.1', # localhost :CGIInterpreter => $ruby, } config.update(conf) # 代入の別名? server = WEBrick::HTTPServer.new(config) yield server if block_given? ['INT', 'TERM'].each {|signal| # 強制終了を捕捉(?) trap(signal) {server.shutdown} # addEventListner的なやつ } server.start # -[INFO]~start doneは終了時に出るやつ。 end start_webrick {|server| cgi_dir = File.dirname( File.expand_path(__FILE__) ) # このディレクトリの絶対パス(多分 server.mount("/", WEBrick::HTTPServlet::FileHandler, cgi_dir, {:FancyIndexing=>true}) # 2回目? }