#!/usr/bin/env ruby class WebMgr attr_accessor :server_type attr_accessor :server_port attr_accessor :usage_message def initialize @usage_message = "USAGE:\n" + "\tlocalweb pysimple (starts a simple web server, using Python)\n" + "\tor\n" + "\tlocalweb pycgi (starts a simple web server, with CGI support, using Python)\n" + "\tor\n" + "\tlocalweb php (starts a simple web server, using PHP)\n" + "\tor\n" + "\tlocalweb phprem (starts a simple web server, using PHP, with remote access)\n" if (ARGV[0] == nil) @server_type = '' else @server_type = ARGV[0] end if (ARGV[1] == nil) @server_port = 80 else @server_port = ARGV[1] end end def StartServer case @server_type when 'pysimple' exec "python -m SimpleHTTPServer " + @server_port when 'pycgi' exec "python -m CGIHTTPServer " + @server_port when 'php' exec "php -S localhost:" + @server_port when 'phprem' exec "php -S 0.0.0.0:" + @server_port else puts @usage_message end end end ### Main ### begin myWebMgr = WebMgr.new if (ARGV[0] == nil) puts myWebMgr.usage_message else myWebMgr.StartServer end rescue Exception => ex puts "An exception occurred: " + ex end