是否有机会在 RubyMine 中调试 http 请求?

Is there opportunity to debug http request in RubyMine?

当我尝试使用默认 Ruby lib Net::HTTP

调试 http 响应时出现问题

例子。我有这样一段代码

url = URI.parse("http://nibbler.silktide.com/") # any http resource

req = Net::HTTP.get_response(url) # the same situation with get method of the Net::HTTP module

p req

我在第二行设置断点并尝试在交互式控制台中执行它并得到"Timeout: evaluation took longer than 10 seconds."

但是当我在第三行设置断点(或按 F8 进行 Step Over)时,我在 req => #<Net::HTTPOK 200 OK readbody=true>

中得到了正确的值

为什么会出现这样的情况?这样我就无法在我的代码中调试响应。有人能帮帮我吗?

环境:

OS - Ubuntu 16.04 x64

Ruby我的版本 - 2017.2.4

Ruby 版本 - 2.4.2p198

ruby-调试-ide (0.6.1.beta10)

提前致谢

当你在第二行设置断点时,请求还没有提交。在第三行设置断点然后打开"Evaluate Expression"window到运行

req.code 
req.body
...

或者像在手表框架中那样设置它们

编辑以回复评论: 如果你评估 req ,你会得到 nil ,因为它还没有提交请求。如果您复制粘贴并尝试执行整行,则会收到超时消息。调试器有一个线程以这种方式分析 http 请求。在任何情况下 "debug the http request" 正如您所要求的那样,您需要在提交请求后放置断点。

希望对您有所帮助。