1 #!/usr/bin/env python 2 3 "A simple application for test purposes." 4 5 import WebStack.Generic 6 7 class SimpleResource: 8 9 "A simple resource." 10 11 def respond(self, trans): 12 trans.set_content_type(WebStack.Generic.ContentType("text/html")) 13 14 # Get some information. 15 16 out = trans.get_response_stream() 17 out.write(""" 18 <html> 19 <head> 20 <title>Simple Example</title> 21 </head> 22 <body> 23 <h1>Test</h1> 24 <ul> 25 <li>Path: %s</li> 26 <li>Path info: %s</li> 27 <li>Query string: %s</li> 28 <li>Request method: %s</li> 29 <li>Content type: %s</li> 30 <li>Charset: %s</li> 31 <li>Headers: 32 <dl> 33 %s 34 </dl> 35 </li> 36 <li>User-Agent: 37 <ul> 38 %s 39 </ul> 40 </li> 41 <li>user-agent: 42 <ul> 43 %s 44 </ul> 45 </li> 46 <li>Fields from path: 47 <ul> 48 %s 49 </ul> 50 </li> 51 </ul> 52 </body> 53 </html> 54 """ % ( 55 trans.get_path(), 56 trans.get_path_info(), 57 trans.get_query_string(), 58 trans.get_request_method(), 59 trans.get_content_type().content_type, 60 trans.get_content_type().charset, 61 "".join(["<dt>%s</dt><dd>%s</dd>" % (key, value) for key, value in trans.get_headers().items()]), 62 "".join(["<li>%s</li>" % value for value in trans.get_header_values("User-Agent")]), 63 "".join(["<li>%s</li>" % value for value in trans.get_header_values("user-agent")]), 64 "".join(["<dt>%s</dt><dd>%s</dd>" % (key, value) for key, value in trans.get_fields_from_path().items()]), 65 )) 66 67 # vim: tabstop=4 expandtab shiftwidth=4