require "pp"
module DemoApplication
def initialize(config, enctype)
super
@enctype = enctype
end
def do_GET(req, res)
if req.path_info != "/"
res.set_redirect(WEBrick::HTTPStatus::Found, req.script_name + "/")
end
res.body =<<-_end_of_html_
_end_of_html_
res['content-type'] = 'text/html; charset=iso-8859-1'
end
def do_POST(req, res)
if req["content-length"].to_i > 1024*10
raise WEBrick::HTTPStatus::Forbidden, "file size too large"
end
res.body =<<-_end_of_html_
Query Parameters
#{display_query(req.query)}
return
Request
#{WEBrick::HTMLUtils::escape(PP::pp(req, "", 80))}
Response
#{WEBrick::HTMLUtils::escape(PP::pp(res, "", 80))}
_end_of_html_
res['content-type'] = 'text/html; charset=iso-8859-1'
end
private
def display_query(q)
ret = ""
q.each{|key, val|
ret << "#{WEBrick::HTMLUtils::escape(key)}
"
ret << ""
ret << make_tr("val", val.inspect)
ret << make_tr("val.to_a", val.to_a.inspect)
ret << make_tr("val.to_ary", val.to_ary.inspect)
ret << "
"
}
ret
end
def make_tr(arg0, arg1)
"#{arg0} | #{WEBrick::HTMLUtils::escape(arg1)} |
"
end
end
The Ruby Programming Language | |
Age | Commit message (Expand) | Author |