server/server.py
changeset 9 44d912089ce1
parent 8 c926073022f4
child 10 ab694dc54515
     1.1 --- a/server/server.py	Thu Oct 06 02:05:43 2011 +0200
     1.2 +++ b/server/server.py	Sat Oct 08 01:05:50 2011 +0200
     1.3 @@ -9,10 +9,10 @@
     1.4      return parser.parse_args()	
     1.5  
     1.6  def main():
     1.7 -	args = parse_args()
     1.8 -	port = args.port
     1.9 -	server = Server("localhost", port, GetHandler)
    1.10 -	server.run()
    1.11 +    args = parse_args()
    1.12 +    port = args.port
    1.13 +    server = Server("localhost", port, GetHandler)
    1.14 +    server.run()
    1.15  
    1.16  from BaseHTTPServer import BaseHTTPRequestHandler
    1.17  from BaseHTTPServer import HTTPServer
    1.18 @@ -20,24 +20,41 @@
    1.19  import urlparse
    1.20  
    1.21  class GetHandler(BaseHTTPRequestHandler):
    1.22 -	def do_GET(self):
    1.23 -		parsed_path = urlparse.urlparse(self.path)
    1.24 -		message = '\n'.join(("client: %s:%i" % self.client_address,
    1.25 -				     "path: %s" % parsed_path.path,
    1.26 -				     "query: %s" % parsed_path.query,
    1.27 -				     "params: %s" % parsed_path.params))
    1.28 -		self.send_response(200)
    1.29 -                self.send_header("Content-type", "application/json")
    1.30 -		self.end_headers()
    1.31 -                self.wfile.write("{\"time:\": 73}")
    1.32 +    def do_GET(self):
    1.33 +        if self.path == "/":
    1.34 +            self.path = "/machine.html"
    1.35 +
    1.36 +        parsed_path = urlparse.urlparse(self.path)
    1.37 +        message = '\n'.join(("client: %s:%i" % self.client_address,
    1.38 +                             "path: %s" % parsed_path.path,
    1.39 +                             "query: %s" % parsed_path.query,
    1.40 +                             "params: %s" % parsed_path.params))
    1.41 +        self.send_response(200) 
    1.42 +       
    1.43 +        resource = True
    1.44 +        if parsed_path.path.endswith(".html"):            
    1.45 +            self.send_header("Content-type", "text/html")          
    1.46 +        elif parsed_path.path.endswith(".css"):
    1.47 +            self.send_header("Content-type", "text/css")
    1.48 +        elif parsed_path.path.endswith(".js"):
    1.49 +            self.send_header("Content-type", "application/javascript")
    1.50 +        else:
    1.51 +            self.send_header("Content-type", "application/json")  
    1.52 +            resource = False
    1.53 +        self.end_headers()
    1.54 +
    1.55 +        if resource:
    1.56 +            self.wfile.write(open("../client" + parsed_path.path).read())
    1.57 +        else:           
    1.58 +            self.wfile.write("{\"time\": 73}")
    1.59  		
    1.60  class Server(HTTPServer):
    1.61 -	def __init__(self, host, port, handler):
    1.62 -		HTTPServer.__init__(self, (host, port), handler)
    1.63 -		self.host = host
    1.64 -		self.port = port
    1.65 -	def run(self):
    1.66 -		self.serve_forever()
    1.67 +    def __init__(self, host, port, handler):
    1.68 +        HTTPServer.__init__(self, (host, port), handler)
    1.69 +        self.host = host
    1.70 +        self.port = port
    1.71 +    def run(self):
    1.72 +        self.serve_forever()
    1.73  
    1.74  if __name__ == "__main__":
    1.75  	main()