如何在em_http_request中仅获取响应标头?
我尝试使用此代码:
EventMachine.run do
http = EventMachine::HttpRequest.new('my_url').get
http.headers do |headers|
Fiber.current.resume headers
end
end
但我不想收到整个身体。如何阻止请求的执行?
http.close
不起作用。
UPD
http.instance_variable_get(:'@conn').close
帮助我,但可能你知道更有趣的解决方案
答案 0 :(得分:1)
如果你不想要身体,you should do a HEAD
request instead of a GET
。要终止事件循环,您需要显式调用EventMachine.stop
。
EventMachine.run do
http = EventMachine::HttpRequest.new('my_url').head
http.headers do |headers|
# do something with headers
EventMachine.stop
end
end