[Twisted-web] Deferred in proxy.ProxyClient.handleHeader (reformatted)
Ing. Stefan Grosz, BSc
stefan at grosz.at
Fri May 28 08:47:41 EDT 2010
hi!
(sorry, the formatting in my last mail got screwed up. hope this time it works)
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 (http://pastie.org/981735):
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
--
Stefan Grosz <stefan at grosz.at>
Stadtaustellungs-, Gemeindeausstellungs-, Stadtinformations- und Gemeindeinformationsplanungs GmbH
A-1100 Wien, Buchengasse 42
Mobil: +43 650 2643435
Fax: +43 7243 57435
http://www.stadtausstellung.at
More information about the Twisted-web
mailing list