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

How can I get more verbose debugging information from hammerhead?

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

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

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

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

好的,所以要回答有关详细日志记录的原始问题,没有任何问题。我不得不通过锤头代码进行日志记录,以获得比选择器上的 testcafe 超时更有意义的东西。

关于潜在的问题(很久以前使用合适的代理日志记录就很明显),我终于发现了一个 node.js http 模块 "Parse Error"。虽然浏览器更宽容,但节点的 http 模块将在 Content-Length header 和 'Transfer-Encoding : chunked' 上呕吐。分块编码会产生额外的开销,并且 Content-Length 不再匹配负载大小。

这通常不会发生,但在我们的服务器实现中,API 调用被代理并且远端 headers 被传递到导致冲突的响应headers.

希望这对其他人有用。