RubyPicoが内部で使っているmrubyを1.2に上げたのでmatsumoto-r/mruby-simplehttpserverをコンパイルできるようになった。以下のようなプログラムを書くとイントラネット内でwebサーバーを起動できるようになる。
# # Server Configration # server = SimpleHttpServer.new({ :server_ip => "0.0.0.0", :port => 8000, :document_root => "./", }) # # HTTP Initialize Configuration Per Request # # You can use request parameters at http or location configration # r.method # r.schema # r.host # r.port # r.path # r.query # r.headers # r.body server.http do |r| server.set_response_headers({ "Server" => "my-mruby-simplehttpserver", "Date" => server.http_date, }) end # # Location Configration # # /mruby location config server.location "/mruby" do |r| if r.method == "POST" server.response_body = "Hello mruby World. Your post is '#{r.body}'\n" else server.response_body = "Hello mruby World at '#{r.path}'\n" end server.create_response end server.run
http://111.111.111.111:8000
をブラウザに打ち込むと他のマシンでアクセスできるようになる。(エミュレータの場合はlocalhost:8000で同一マシン上の他のブラウザからアクセス可能)
mattn/mruby-sinaticみたいなWebアプリをさくっと書くための薄いラッパーがほしい。(mruby-uvがiOSでビルドできるならむしろmruby-sinaticも組み込んでしまうのがいいのかもしれない)