You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@thrift.apache.org by 张沈鹏 <zs...@gmail.com> on 2013/02/09 19:53:58 UTC
TZlibTransport can't work together with THttpClient ? (python client)
TZlibTransport seems should reset after every flush (with THttpClient) ?
Else , the frist time call are right ; the second time call raise error ?
Is this a bug to fix ?
import _env
from thrift import Thrift
from thrift.transport import TTransport
from thrift.transport.TZlibTransport import TZlibTransport as _TZlibTransport
from thrift.protocol.TCompactProtocol import TCompactProtocol as Protocol
from thrift.transport.THttpClient import THttpClient
from zlib import decompress
import zlib
class TZlibTransport(_TZlibTransport):
def flush(self):
result = _TZlibTransport.flush(self)
self._reinit_buffers()
self._init_zlib()
self._init_stats()
return result
def saas_client(saas, host="127.0.0.1", port=80):
transport = THttpClient("http://%s:%s/" % (host, port))
transport.setTimeout(5000)
transport = TZlibTransport(transport)
transport.open()
protocol = Protocol(transport)
client = saas.Client(protocol)
return transport, client
if __name__ == "__main__":
from misc.saas.xi.saas import Interface
import time
transport, client = saas_client(Interface, "saas-xi.42qu.me")
while True:
print client.poListBeforeByUserId(1)
time.sleep(1)