Example #1
0
    def do_GET(self):
        bits = urllib.unquote(self.path).split('/')
        try:
            x = None

            if bits[1] == "ping":
                self.send_response(200)
                self.end_headers()
                self.wfile.write("pong")

            elif bits[1] == "people":
                self.output_json(Person.retrieve(bits[2]))

            elif bits[1] == "service":
                self.output_json(Service.retrieve(bits[2],bits[3]))

            elif bits[1] == "thing":
                self.output_json(Thing.retrieve(bits[2]))

            elif bits[1] == "att":
                x = Att.retrieve(bits[2])
                if x:
                    self.send_response(200)
                    self.send_header('Content-type', x.mime)
                    self.send_header('Content-length', x.size)
                    self.end_headers()
                    self.wfile.write(x.body)
                else:
                    self.send_response(404)
                    self.end_headers()
                    self.wfile.write('404 Not Found')

            elif bits[1] == "credential":
                self.output_json(Credential.retrieve(bits[2]))
        
        except IndexError:
            print "GET error!  self:%s\n%s" % (self.path, self.headers)