WampCraServerProtocol
(Autobahn Python から)サブクラス化し、オーバーライドしていますgetAuthSecret
。ただし、簡単なテストを行うと、そのメソッドから deferred を返すことができるようになりました。
def getAuthSecret(self, authKey):
deferred = Deferred()
deferred.callback("secret")
return deferred
...次のエラーが表示されますWampCraClientProtocol
:
Authentication Error! http://api.wamp.ws/error#generic Deferred instance has no attribute '__len__' None
わかりました、それだけですでに混乱しています。getAuthSecret
返される deferred に対して特別な要件はありますか?
わかりました、そのエラーに基づいて、私が返す遅延オブジェクトに (簡単な) lenメソッドを追加しました:
def getAuthSecret(self, authKey):
#secret_deferred = self.factory.get_secret(authKey)
deferred = Deferred()
deferred.__len__ = lambda: 1
deferred.callback("secret")
return deferred
...その場合、次のようになります。
Authentication Error! http://api.wamp.ws/error#generic unsupported operand type(s) for +: 'instance' and 'str' None
それは私をさらに混乱させます。そのメソッドから deferred を返す正しい方法を知りたいだけです。(単純な単純な文字列を返す場合、すべてが完全に機能することに注意してください)。ありがとう。