Basic JSON response.
authorEugen Sawin <sawine@me73.com>
Sat, 08 Oct 2011 01:05:50 +0200
changeset 944d912089ce1
parent 8 c926073022f4
child 10 ab694dc54515
Basic JSON response.
client/scripts/client.js
server/server.py
     1.1 --- a/client/scripts/client.js	Thu Oct 06 02:05:43 2011 +0200
     1.2 +++ b/client/scripts/client.js	Sat Oct 08 01:05:50 2011 +0200
     1.3 @@ -1,5 +1,5 @@
     1.4  //--allow-file-access-from-files
     1.5 -var server = "http://localhost:8080";
     1.6 +var server = "http://127.0.0.1:8080";
     1.7  var view_left = "<view-left><h2>Machine</h2><p>Be yourself within Machine.</p></view-left>";
     1.8  
     1.9  function command()
    1.10 @@ -7,14 +7,14 @@
    1.11      var com = document.getElementById("com");
    1.12      $.ajax({url: server + "/com",
    1.13  	    data: com.value,
    1.14 +	    dataType: "json",
    1.15  	    success: callback});
    1.16      com.value = ""; 
    1.17  }
    1.18  
    1.19 -function callback(msg)
    1.20 +function callback(data, status, xhr)
    1.21  {
    1.22 -    alert(msg); 
    1.23 -    view_left = "<view-left><h2>Machine</h2><p>" + msg.time + "</p></view-left>";
    1.24 +    view_left = "<view-left><h2>Machine</h2><p>" + data.time + "</p></view-left>";
    1.25      $("view-left").replaceWith(view_left);   
    1.26  }
    1.27  
     2.1 --- a/server/server.py	Thu Oct 06 02:05:43 2011 +0200
     2.2 +++ b/server/server.py	Sat Oct 08 01:05:50 2011 +0200
     2.3 @@ -9,10 +9,10 @@
     2.4      return parser.parse_args()	
     2.5  
     2.6  def main():
     2.7 -	args = parse_args()
     2.8 -	port = args.port
     2.9 -	server = Server("localhost", port, GetHandler)
    2.10 -	server.run()
    2.11 +    args = parse_args()
    2.12 +    port = args.port
    2.13 +    server = Server("localhost", port, GetHandler)
    2.14 +    server.run()
    2.15  
    2.16  from BaseHTTPServer import BaseHTTPRequestHandler
    2.17  from BaseHTTPServer import HTTPServer
    2.18 @@ -20,24 +20,41 @@
    2.19  import urlparse
    2.20  
    2.21  class GetHandler(BaseHTTPRequestHandler):
    2.22 -	def do_GET(self):
    2.23 -		parsed_path = urlparse.urlparse(self.path)
    2.24 -		message = '\n'.join(("client: %s:%i" % self.client_address,
    2.25 -				     "path: %s" % parsed_path.path,
    2.26 -				     "query: %s" % parsed_path.query,
    2.27 -				     "params: %s" % parsed_path.params))
    2.28 -		self.send_response(200)
    2.29 -                self.send_header("Content-type", "application/json")
    2.30 -		self.end_headers()
    2.31 -                self.wfile.write("{\"time:\": 73}")
    2.32 +    def do_GET(self):
    2.33 +        if self.path == "/":
    2.34 +            self.path = "/machine.html"
    2.35 +
    2.36 +        parsed_path = urlparse.urlparse(self.path)
    2.37 +        message = '\n'.join(("client: %s:%i" % self.client_address,
    2.38 +                             "path: %s" % parsed_path.path,
    2.39 +                             "query: %s" % parsed_path.query,
    2.40 +                             "params: %s" % parsed_path.params))
    2.41 +        self.send_response(200) 
    2.42 +       
    2.43 +        resource = True
    2.44 +        if parsed_path.path.endswith(".html"):            
    2.45 +            self.send_header("Content-type", "text/html")          
    2.46 +        elif parsed_path.path.endswith(".css"):
    2.47 +            self.send_header("Content-type", "text/css")
    2.48 +        elif parsed_path.path.endswith(".js"):
    2.49 +            self.send_header("Content-type", "application/javascript")
    2.50 +        else:
    2.51 +            self.send_header("Content-type", "application/json")  
    2.52 +            resource = False
    2.53 +        self.end_headers()
    2.54 +
    2.55 +        if resource:
    2.56 +            self.wfile.write(open("../client" + parsed_path.path).read())
    2.57 +        else:           
    2.58 +            self.wfile.write("{\"time\": 73}")
    2.59  		
    2.60  class Server(HTTPServer):
    2.61 -	def __init__(self, host, port, handler):
    2.62 -		HTTPServer.__init__(self, (host, port), handler)
    2.63 -		self.host = host
    2.64 -		self.port = port
    2.65 -	def run(self):
    2.66 -		self.serve_forever()
    2.67 +    def __init__(self, host, port, handler):
    2.68 +        HTTPServer.__init__(self, (host, port), handler)
    2.69 +        self.host = host
    2.70 +        self.port = port
    2.71 +    def run(self):
    2.72 +        self.serve_forever()
    2.73  
    2.74  if __name__ == "__main__":
    2.75  	main()