#!/usr/bin/python from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer from urlparse import urlparse, parse_qs global_store = {} class KeyServerHandler(BaseHTTPRequestHandler): def get_request(self, query_components): if "key" in query_components: key = query_components["key"][0] print "Getting request for key: %s" % key if key in global_store: self.send_response(200) self.wfile.write(global_store[key]) self.wfile.write("\n") else: self.send_response(404) else: self.send_response(400) def set_request(self, query_components): self.send_response(202) for key, value in query_components.iteritems(): global_store[key] = value[0] def do_GET(self): parsed = urlparse(self.path) query_components = parse_qs(parsed.query) self.send_header("Content-type", "text/html") self.end_headers() if parsed.path == "/get": self.get_request(query_components) elif parsed.path == "/set": self.set_request(query_components) def main(): port = 4000 print "Listening on %d..." % port server = HTTPServer(('', port), KeyServerHandler) server.serve_forever() if __name__ == "__main__": main()