暇つぶしにRubyを使ってHTMLサーバーでも書いてみた

RubyでWebサーバを作る - 楽天ブログ(Blog)
http://plaza.rakuten.co.jp/juniq/

上記のサイトを参考にしてRubyでのHttpサーバーを書いてみた。
結論からまだ、未完成
起動させて localhost:8080にアクセスすると
自動的に、同じファイル内のindex.htmlを自動的に返して、
ファイルが存在しない場合は、一応反応を見せるプログラム
仕事で、socketを使って機器を制御する機会があったので、暇つぶしに組んでみた。
結構難しいや

require 'socket'
server = TCPServer.new(8080)
bassic_file = "."

while
 socket =server.accept
 Thread.new{
  line=socket.gets
  begin
   request = line.split(" ")
   puts line
   request_cmd = request[0]
   request_url = request[1]
   buf = request_url.split("?")
   request_url = buf[0]
   data = buf[1]
   if request_url == "/" then
    request_url = request_url + "index.html"
   end
   request_url = bassic_file + request_url  #ファイル位置調整
   puts request_url
   if FileTest.file?(request_url)
    f=File.open(request_url, "r")
    line = f.gets
    while line
     socket.print line
     line = f.gets
    end
    f.close
   else                   #反応がないときの返す文字列
    socket.print "test\n"
    socket.print "test\n"
    socket.print ""
   end
  rescue => exp
   socket.print"エラーが発生しました。"
  end
  socket.close
 }
end
server.close