【问题标题】:Spyne request debugSpyne 请求调试
【发布时间】:2021-04-29 17:59:07
【问题描述】:

我有一个 spyne 服务器,而且我经常需要调试奇怪的调用行为。 我正在使用 eclipse pyDev 开发最终调试。

主要的困难是了解另一部分发布的 XML 内容,我发现能够读取设置调试点:gunicorn/workers/sync.py:179。在handle_request,在控制台调用req.body.read()。

但是

我需要一种在生产服务器上转储发布请求的方法,因为其他人的软件经常发布错误的 xml 数据和其他奇怪的问题。

另外,它会帮助很多!能够更改工作人员超时以能够平静地调试,因为我在这么短的时间内找不到正确的请求变量。

感谢您的帮助。

非常感谢。

【问题讨论】:

    标签: python xml server spyne


    【解决方案1】:

    找到方法了!!

    只需创建一个自定义继承的 WSGI 应用程序类(WsgiApplication || WsgiMounter),使用主体缓冲区并重新设置。

    from spyne.util.wsgi_wrapper import WsgiMounter
        
    class WsgiMounterCustom(WsgiMounter):
    
        def __call__(self, environ, start_response):
            callBody = environ['wsgi.input'].read()
            environ['wsgi.input'].buf = io.BytesIO(callBody)
            print("CallBody: "+callBody.decode("utf-8"))
            return WsgiMounter.__call__(self, environ, start_respon
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-19
      • 2014-03-01
      相关资源
      最近更新 更多