如何从Hammerhead获得更多详细的调试信息?

时间:2019-12-30 17:27:52

标签: testcafe

我遇到了一个问题,其中我的Web代码正在对未完成的同一服务器上的另一个端点调用ajax调用。我可以在服务器日志中看到请求已得到处理并发送了响应,但是网络工具甚至在几分钟后仍显示响应未完成(停止)。

我正在寻找有关代理中正在发生的事情的更多详细信息(也许它正在等待来自服务器的更多数据,等等)。但是我找不到来自代理的任何日志记录来协助调试。

编辑: 我注意到在设置了 isXhr 的所有代理请求中都会发生这种情况。

2 个答案:

答案 0 :(得分:0)

您需要检查RequestPipeline模块。它控制发送请求,处理响应以及将修改后的响应发送给客户端的过程。

答案 1 :(得分:0)

好,所以要回答有关详细日志记录的原始问题,没有任何内容。我不得不在锤头代码中撒满日志,以获得比在选择器上超时testcafe更有意义的事情。

关于潜在的问题(很早以前就已经有了体面的代理日志记录,这是很明显的),我最终发现了一个node.js http模块“ Parse Error”。当浏览器更加宽容时,node的http模块将与Content-Length标头一起驳斥,并带有'Transfer-Encoding:chunked'。分块编码会产生额外的开销,并且Content-Length不再与有效负载大小匹配。

通常不会发生这种情况,但是在我们的服务器实现中,将对API调用进行代理,并将远端标头传递给响应,从而导致标头发生冲突。

希望这对其他人有用。