簡単なWebサーバ

ローカルに置いてあるときと、Webサーバで動いてるときで挙動が違うプログラムってありますよね。
例えば、

  • ローカルにあるSwfはネットワーク通信できないけど、Webサーバ上にあるSwfはできる*1
  • ローカルにあるHTMLは相対パスしか使えないけど、Webサーバ上にあるやつは絶対パスも使える
  • ローカルではCGIは動かないけど、Webサーバ上にあるやつは動く

というわけで、WEBrickで簡単なWebサーバを作ってみました。

#!/usr/bin/env ruby
require 'webrick'
include WEBrick

s = HTTPServer.new(:Port=>8000,:DocumentRoot=> Dir::pwd)
trap("INT"){ s.shutdown }
s.start

使い方は、

# カレントディレクトリが、DocumentRootになる
$ ./min_server

*1:より正確にはuse_network=1のswfファイルの場合