我有一台spyne服务器,经常需要调试奇怪的调用行为。我正在使用eclipse pyDev来开发end debug。
主要的困难是知道其他部分发布的XML内容,我发现它能够读取,并在以下位置设置调试点:gunicorn/worker/sync.py:179。在handle_request,在控制台调用req.body.read()。
但
我需要一种方法将post请求转储到生产服务器,因为其他人的软件经常发布错误的xml数据和其他奇怪的问题。
而且,这也会有很大的帮助!为了能够更改工作超时以便能够平静地进行调试,因为我无法在那么短的时间内找到正确的请求变量。
我将非常感谢你的帮助。
非常感谢。
发布于 2021-04-30 17:51:58
找到了一个方法!!
只需创建一个自定义的继承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_responhttps://stackoverflow.com/questions/67322769
复制相似问题