123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- require "webrick"
- require "xmlrpc/server"
- require 'xmlrpc/client'
- require 'pp'
- require 'config.rb'
- #
- # Dummy grid server
- #
- #
- class SimServlet < WEBrick::HTTPServlet::AbstractServlet
- # does actually nothing
- def do_POST(req, res)
- STDERR.print "----\n"
- end
- end
- $SimUUID = ""
- s = XMLRPC::WEBrickServlet.new
- s.add_handler("map_block") do |param|
- # does just enough to login.. if you try using "map" you will cause the exception
- # and hang the client
- responseData = Hash.new
- responseData["sim-profiles"] = [ ]
- responseData
- end
- s.add_handler("simulator_login") do |param|
- sc = SimConfig.new
- responseData = Hash.new
- STDERR.print "simulator login: " + param.inspect + "\n"
- $SimUUID = param["UUID"]
- responseData["UUID"] = param["UUID"]
- responseData["region_locx"] = sc.cfgSimX
- responseData["region_locy"] = sc.cfgSimY
- responseData["regionname"] = "DalienLand"
- responseData["estate_id"] = "1"
- responseData["neighbours"] = [ ]
- responseData["sim_ip"] = sc.cfgSimIP
- responseData["sim_port"] = sc.cfgSimPort
- responseData["asset_url"] = sc.cfgAssetServerUrl
- responseData["asset_sendkey"] = ""
- responseData["asset_recvkey"] = ""
- responseData["user_url"] = sc.cfgUserServerUrl
- responseData["user_sendkey"] = ""
- responseData["user_recvkey"] = ""
- responseData["authkey"] = ""
- responseData
- end
- s.set_default_handler do |name, *args|
- STDERR.print "Unknown method #{name}, #{args.inspect}\n\n"
- raise XMLRPC::FaultException.new(-99, "Method #{name} missing" +
- " or wrong number of parameters!")
- end
- httpserver = WEBrick::HTTPServer.new(:Port => 8001)
- httpserver.mount("/", s)
- httpserver.mount("/sims", SimServlet)
- trap(:INT) { httpserver.shutdown } # use 1 instead of "HUP" on Windows
- httpserver.start
|