require 'webrick'

class MyServer
  
  def initialize(params)
    @server = WEBrick::HTTPServer.new(params)
  end
  
  def start()
    trap("INT"){ @server.shutdown }
    @server.start
  end

  def publish(path,proc)
    prochandler = WEBrick::HTTPServlet::ProcHandler.new(proc)
    @server.mount(path,prochandler)
  end

  def publish_file(path,fn)
    filehandler = WEBrick::HTTPServlet::FileHandler.new(@server,fn)
    @server.mount(path,filehandler)
  end
  
end

#webrick bug? elkerulesere
class WEBrick::HTTPServlet::FileHandler
  def get_instance(server, *options)
    self
  end
end
