Updated MSpec source to 1c3ee1c8.
[rbx.git] / test / mri / webrick / webrick.cgi
blob73ba729407c018cf8169b8feb2abced042a4bc07
1 #!ruby -d
2 require "webrick/cgi"
4 class TestApp < WEBrick::CGI
5   def do_GET(req, res)
6     res["content-type"] = "text/plain"
7     if (p = req.path_info) && p.length > 0
8       res.body = p
9     elsif (q = req.query).size > 0
10       res.body = q.keys.sort.collect{|key|
11         q[key].list.sort.collect{|v|
12           "#{key}=#{v}"
13         }.join(", ")
14       }.join(", ")
15     elsif %r{/$} =~ req.request_uri.to_s
16       res.body = ""
17       res.body << req.request_uri.to_s  << "\n"
18       res.body << req.script_name
19     elsif !req.cookies.empty?
20       res.body = req.cookies.inject(""){|result, cookie|
21         result << "%s=%s\n" % [cookie.name, cookie.value]
22       }
23       res.cookies << WEBrick::Cookie.new("Customer", "WILE_E_COYOTE")
24       res.cookies << WEBrick::Cookie.new("Shipping", "FedEx")
25     else
26       res.body = req.script_name
27     end
28   end
30   def do_POST(req, res)
31     do_GET(req, res)
32   end
33 end
35 cgi = TestApp.new
36 cgi.start