hi!
i'm currently writing a reverse proxy with twisted and i've a problem with a deferred function in my handleHeader method.
the code looks simplified like this:
class MyProxyClient(proxy.ProxyClient): @defer.inlineCallbacks def handleHeader(self, key, value): if key.lower() == 'location': clientCreator = protocol.ClientCreator(reactor, Redis, db=3) redis = yield clientCreator.connectTCP("localhost", 6379) value = yield redis.get('myproxy:hashcode:%s' % value) proxy.ProxyClient.handleHeader(self,key,value)
as the handleHeader caller doesn't wait for a deferred to finish, the location header is added after handleResponseEnd is already called and therefore never makes it to the client.
is there a way to convert the non-blocking redis call to a blocking redis call? i know that there's a blocking client library for redis but i'd rather use only txredis if possible.
regards, stefan