sawine@7
|
1 |
#!/usr/bin/python
|
sawine@7
|
2 |
|
sawine@7
|
3 |
from argparse import ArgumentParser
|
sawine@7
|
4 |
|
sawine@7
|
5 |
def parse_args():
|
sawine@7
|
6 |
parser = ArgumentParser(description="")
|
sawine@7
|
7 |
parser.add_argument("port", type=int, help="port")
|
sawine@7
|
8 |
parser.add_argument("-a", help="host address")
|
sawine@7
|
9 |
return parser.parse_args()
|
sawine@7
|
10 |
|
sawine@7
|
11 |
def main():
|
sawine@9
|
12 |
args = parse_args()
|
sawine@9
|
13 |
port = args.port
|
sawine@9
|
14 |
server = Server("localhost", port, GetHandler)
|
sawine@9
|
15 |
server.run()
|
sawine@7
|
16 |
|
sawine@7
|
17 |
from BaseHTTPServer import BaseHTTPRequestHandler
|
sawine@7
|
18 |
from BaseHTTPServer import HTTPServer
|
sawine@7
|
19 |
import SocketServer
|
sawine@7
|
20 |
import urlparse
|
sawine@7
|
21 |
|
sawine@7
|
22 |
class GetHandler(BaseHTTPRequestHandler):
|
sawine@9
|
23 |
def do_GET(self):
|
sawine@9
|
24 |
if self.path == "/":
|
sawine@9
|
25 |
self.path = "/machine.html"
|
sawine@9
|
26 |
|
sawine@9
|
27 |
parsed_path = urlparse.urlparse(self.path)
|
sawine@9
|
28 |
message = '\n'.join(("client: %s:%i" % self.client_address,
|
sawine@9
|
29 |
"path: %s" % parsed_path.path,
|
sawine@9
|
30 |
"query: %s" % parsed_path.query,
|
sawine@9
|
31 |
"params: %s" % parsed_path.params))
|
sawine@9
|
32 |
self.send_response(200)
|
sawine@9
|
33 |
|
sawine@9
|
34 |
resource = True
|
sawine@9
|
35 |
if parsed_path.path.endswith(".html"):
|
sawine@9
|
36 |
self.send_header("Content-type", "text/html")
|
sawine@9
|
37 |
elif parsed_path.path.endswith(".css"):
|
sawine@9
|
38 |
self.send_header("Content-type", "text/css")
|
sawine@9
|
39 |
elif parsed_path.path.endswith(".js"):
|
sawine@9
|
40 |
self.send_header("Content-type", "application/javascript")
|
sawine@9
|
41 |
else:
|
sawine@9
|
42 |
self.send_header("Content-type", "application/json")
|
sawine@9
|
43 |
resource = False
|
sawine@9
|
44 |
self.end_headers()
|
sawine@9
|
45 |
|
sawine@9
|
46 |
if resource:
|
sawine@9
|
47 |
self.wfile.write(open("../client" + parsed_path.path).read())
|
sawine@9
|
48 |
else:
|
sawine@9
|
49 |
self.wfile.write("{\"time\": 73}")
|
sawine@7
|
50 |
|
sawine@7
|
51 |
class Server(HTTPServer):
|
sawine@9
|
52 |
def __init__(self, host, port, handler):
|
sawine@9
|
53 |
HTTPServer.__init__(self, (host, port), handler)
|
sawine@9
|
54 |
self.host = host
|
sawine@9
|
55 |
self.port = port
|
sawine@9
|
56 |
def run(self):
|
sawine@9
|
57 |
self.serve_forever()
|
sawine@7
|
58 |
|
sawine@7
|
59 |
if __name__ == "__main__":
|
sawine@7
|
60 |
main()
|
sawine@7
|
61 |
|