server/server.py
author Eugen Sawin <sawine@me73.com>
Thu, 06 Oct 2011 02:05:43 +0200
changeset 8 c926073022f4
parent 7 9d9401f1cf76
child 9 44d912089ce1
permissions -rwxr-xr-x
Some improvs.
     1 #!/usr/bin/python
     2 
     3 from argparse import ArgumentParser
     4 
     5 def parse_args():
     6     parser = ArgumentParser(description="")
     7     parser.add_argument("port", type=int, help="port")
     8     parser.add_argument("-a", help="host address")
     9     return parser.parse_args()	
    10 
    11 def main():
    12 	args = parse_args()
    13 	port = args.port
    14 	server = Server("localhost", port, GetHandler)
    15 	server.run()
    16 
    17 from BaseHTTPServer import BaseHTTPRequestHandler
    18 from BaseHTTPServer import HTTPServer
    19 import SocketServer
    20 import urlparse
    21 
    22 class GetHandler(BaseHTTPRequestHandler):
    23 	def do_GET(self):
    24 		parsed_path = urlparse.urlparse(self.path)
    25 		message = '\n'.join(("client: %s:%i" % self.client_address,
    26 				     "path: %s" % parsed_path.path,
    27 				     "query: %s" % parsed_path.query,
    28 				     "params: %s" % parsed_path.params))
    29 		self.send_response(200)
    30                 self.send_header("Content-type", "application/json")
    31 		self.end_headers()
    32                 self.wfile.write("{\"time:\": 73}")
    33 		
    34 class Server(HTTPServer):
    35 	def __init__(self, host, port, handler):
    36 		HTTPServer.__init__(self, (host, port), handler)
    37 		self.host = host
    38 		self.port = port
    39 	def run(self):
    40 		self.serve_forever()
    41 
    42 if __name__ == "__main__":
    43 	main()
    44