def self.handle_request
res = nil
err = nil
begin
cgi = CGI.new
path = URI.parse("http://f" + ENV["REQUEST_URI"]).path
req = Borges::Request.new(path, ENV.to_hash, cgi.inputs, cgi.cookie)
res = Borges::DRb.handle_request(req)
rescue Exception => err
ensure
unless res.nil? then
puts "Status: #{HTTP_STATUS[res.status]}"
headers = []
res.headers.each do |header, val|
headers << "#{header}: #{val}"
end
puts CGI.header(headers)
puts res.contents
else
puts "Status: #{HTTP_STATUS[500]}"
puts "Content-Type: text/plain\r\n\r\n"
puts err
puts err.backtrace
end
end
end