Tornado XML-RPC服务器和客户端
项目描述
基于tornado的XML-RPC服务器和客户端实现。使用lxml和AsyncHttpClient。
示例
from tornado_xmlrpc import handler, client
from tornado.testing import *
class XMLRPCTestHandler(handler.XMLRPCHandler):
def rpc_test(self):
return None
def rpc_args(self, *args):
return len(args)
def rpc_kwargs(self, **kwargs):
return len(kwargs)
def rpc_args_kwargs(self, *args, **kwargs):
return len(args) + len(kwargs)
def rpc_exception(self):
raise Exception("YEEEEEE!!!")
class TestSimple(tornado.testing.AsyncHTTPTestCase):
def setUp(self):
super(TestSimple, self).setUp()
self.server = client.ServerProxy("https://#:%d" % self.get_http_port())
def tearDown(self):
super(TestSimple, self).tearDown()
self.server = None
def get_app(self):
return Application(handlers=[
('/', XMLRPCTestHandler),
])
@gen_test
def test_00_test(self):
result = yield self.server.test()
self.assertIsNone(result)
@gen_test
def test_10_args(self):
result = yield self.server.args(1, 2, 3, 4, 5)
self.assertEqual(result, 5)
@gen_test
def test_20_kwargs(self):
result = yield self.server.kwargs(foo=1, bar=2)
self.assertEqual(result, 2)
@gen_test
def test_20_kwargs(self):
result = yield self.server.args_kwargs(1, 2, 3, 4, 5, foo=1, bar=2)
self.assertEqual(result, 7)
@gen_test
def test_30_exception(self):
try:
yield self.server.exception()
except client.RemoteServerException as e:
self.assertIn("YEEEEEE!!!", e.message)
else:
raise RuntimeError("No exception")
项目详细信息
关闭
tornado-xmlrpc-1.8.2.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 7db71f4a096aa0990c4872772c68807d5ec445927f86250b52f96ac1f366b6c6 |
|
MD5 | 76aa37dad78bddd44a4bef83863ec4f6 |
|
BLAKE2b-256 | 51fde40d50bb676be33e139007f7d74f2bb48f7d2e0f16913b1aa0d7d11fa3df |