不要向客户端发送异常

时间:2013-06-18 22:22:18

标签: python rpc autobahn

似乎在我的WAMP服务器中抛出的任何除外被高速公路捕获并发送到客户端。这有两个问题:a)如果服务器出现问题,需要在服务器上记录,以便团队可以修复,b)这些异常可能非常具有启发性(尤其是来自ORM)我不希望将它们转发给恶意的第三方。

我可以阻止此行为吗?如果可以,有没有办法明确发送应该发送给客户端的错误消息?

2 个答案:

答案 0 :(得分:2)

更新回答

默认情况下,AutobahnPython不再发送回溯。

当调用 Callee 的过程引发异常时,只转发异常 - 而不是完整的回溯。要启用回溯转发功能,请在被叫方 traceback_app = True上设置ApplicationSession


弃用答案:以下原始答案仅适用于AutobahnPython中的WAMP v1代码,该代码已弃用并已删除。

  

带有WAMP1代码的AutobahnPython的最后一个版本是0.8.15,您可以找到herehere

您可以覆盖来自onAfterCallError的类autobahn.wamp.WampProtocol挂钩(请参阅here或生成的文档)。

在您的覆盖中,您可以进行自定义日志记录和/或修改错误对象,该对象是发送给调用者的WAMP RPC错误返回的基础。

答案 1 :(得分:1)

try:
    main()
except Exception, e:
    log(str(e))
相关问题