是否有机会在 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" 正如您所要求的那样,您需要在提交请求后放置断点。
希望对您有所帮助。
当我尝试使用默认 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" 正如您所要求的那样,您需要在提交请求后放置断点。
希望对您有所帮助。