Example #1
0
    def render_GET(self, request):
        Type = "application/x-pickle.python"
        def _render(result):
            request.setHeader("Content-Type", Type)
            request.setHeader("Content-Length", str(len(result)))
            request.setHeader("Pragma", "no-cache")
            request.setHeader("Cache-Control", "no-cache")
            request.write(result)
            request.finish()

        d = self._serialize_objects(request)
        d.addCallback(_render)
        d.addErrback(lambda x: gremlin_log(x.getTraceback()) and x or x)
        request.notifyFinish().addErrback(lambda x: cancelTask(d))
        return server.NOT_DONE_YET
Example #2
0
    def render_POST(self, request):
        def _render(result):
            data = result.get('response', 'ok')
            request.setHeader("content-type", result.get('type','text/plain'))
            request.setHeader("Pragma", "no-cache")
            request.setHeader("Cache-Control", "no-cache")
            request.setHeader("content-length", str( len( data ) ))
            request.setResponseCode(result.get('code', 200))
            request.write( str(data) )
            request.finish()

        d = self.execute(request)
        d.addBoth(self.msgBufResponse)
        d.addCallback(_render)
        request.notifyFinish().addErrback(lambda x: cancelTask(d))
        return server.NOT_DONE_YET
Example #3
0
    def render_GET(self, request):
        def _render(result):
            request.setHeader("Content-Type", "text/plain")
            request.setHeader("Content-Length", str(len(result)))
            request.setHeader("Pragma", "no-cache")
            request.setHeader("Cache-Control", "no-cache")
            request.write(result)
            request.finish()
            #invalidate the prime after a certain period of time
            try:
                reactor.callLater(
                    config.DRONED_PRIME_TTL,
                    drone.releasePrime, 
                    int(result)
                )
            except: pass

        d = drone.getprime()
        d.addCallback(str) #getprime returns an int
        d.addCallback(_render)
        request.notifyFinish().addErrback(lambda x: cancelTask(d))
        return server.NOT_DONE_YET