#!/usr/local/bin/ruby -Ks #require 'reqnora' require 'web/common' require 'web/interface' require 'web/cookie' require 'web/response' def noratest(req,rsp) rsp.content_type = 'text/html; charset=Shift_JIS' rsp.write <<-EOS <html> <head> <title>Nora Test</title> </head> <body> <h1>Nora Test</h1> EOS # attr rsp << "<table border>" rsp << "<tr><td>method</td><td>#{Web::escapeHTML(req.method)}</td></tr>" rsp << "<tr><td>query_string</td><td>#{Web::escapeHTML(req.query_string)}</td></tr>" rsp << "<tr><td>script_name</td><td>#{Web::escapeHTML(req.script_name)}</td></tr>" rsp << "<tr><td>path_info</td><td>#{Web::escapeHTML(req.path_info)}</td></tr>" rsp << "<tr><td>host</td><td>#{Web::escapeHTML(req.host.to_s)}</td></tr>" rsp << "<tr><td>remote_addr</td><td>#{Web::escapeHTML(req.remote_addr.to_s)}</td></tr>" rsp << "<tr><td>remote_host</td><td>#{Web::escapeHTML(req.remote_host.to_s)}</td></tr>" rsp << "<tr><td>remote_ident</td><td>#{Web::escapeHTML(req.remote_ident || '')}</td></tr>" rsp << "<tr><td>remote_user</td><td>#{Web::escapeHTML(req.remote_user || '')}</td></tr>" rsp << "</table>" # query rsp << "<h2>query</h2>" rsp << "<table border>" req.query.each {|key,value| rsp << "<tr><td>#{Web::escapeHTML(key)}</td><td>#{Web::escapeHTML(value.inspect)}</td></tr>" } rsp << "</table>" # form rsp << "<h2>form</h2>" rsp << "<table border>" req.form.each {|key,value| rsp << "<tr><td>#{Web::escapeHTML(key)}</td><td>#{Web::escapeHTML(value.inspect)}</td></tr>" } rsp << "</table>" rsp << "<h2>Web::Request</h2>" rsp << "<p>" << Web::escapeHTML(req.inspect) << "</p>" rsp.write <<-EOS </body> </html> EOS rsp end api = Web::Interface::AUTO.new api.each {|req| rsp = Web::Response.new rsp = noratest(req,rsp) api.response req, rsp }