--- a/runtime/WampClient.py Mon Apr 09 14:38:38 2018 +0200
+++ b/runtime/WampClient.py Tue Apr 10 09:54:22 2018 +0200
@@ -70,6 +70,15 @@
obj = getattr(obj, names.pop(0))
+def getValidOptins(options, arguments): + validOptions[key] = options[key] + if len(validOptions) > 0: class WampSession(wamp.ApplicationSession):
@@ -92,8 +101,16 @@
ID = self.config.extra["ID"]
+ registerOptions = self.config.extra.get('registerOptions', None) + arguments = inspect.getargspec(types.RegisterOptions.__init__).args + validRegisterOptions = getValidOptins(registerOptions, arguments) + if validRegisterOptions: + regoption = types.RegisterOptions(**validRegisterOptions) + #print(_("Added custom register options")) for name in ExposedCalls:
- regoption = types.RegisterOptions(u'exact', u'last')
yield self.register(GetCallee(name), u'.'.join((ID, name)), regoption)
for name in SubscribedEvents:
@@ -114,21 +131,12 @@
def __init__(self, config, *args, **kwargs):
WampWebSocketClientFactory.__init__(self, *args, **kwargs)
+ protocolOptions = config.extra.get('protocolOptions', None) arguments = inspect.getargspec(self.setProtocolOptions).args
- protocolOptions = config.extra.get('protocolOptions', None)
- validProtocolOptions = {}
- for key in protocolOptions:
- validProtocolOptions[key] = protocolOptions[key]
- if len(validProtocolOptions) > 0:
+ validProtocolOptions = getValidOptins(protocolOptions, arguments) + if validProtocolOptions: self.setProtocolOptions(**validProtocolOptions)
- print(_("Added custom protocol options"))
- del validProtocolOptions
+ #print(_("Added custom protocol options")) def buildProtocol(self, addr):
--- a/tests/wamp/project_files/wampconf.json Mon Apr 09 14:38:38 2018 +0200
+++ b/tests/wamp/project_files/wampconf.json Tue Apr 10 09:54:22 2018 +0200
@@ -4,5 +4,6 @@
- "protocolOptions":{"autoPingTimeout":20, "autoPingInterval":60}
+ "protocolOptions":{"autoPingTimeout":20, "autoPingInterval":60}, + "registerOptions":{"match":"exact", "invoke":"last", "concurrency": 2}