2014-10-24 1 views
0

어떻게 em_http_request에서 응답 헤더 만 가져올 수 있습니까? 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이 날 수 있습니다,하지만 당신은 몸 you should do a HEAD request instead of a GET을하지 않으려면 더 흥미로운 솔루션을

답변

1

을 알 수있다. 이벤트 루프를 종료하려면 명시 적으로 EventMachine.stop을 호출해야합니다.

+0

이벤트 루프가 아닙니다. 그냥 요청하십시오. UPD – Falcon

+0

+1보기, 예, HEAD 요청이 적절한 방법입니다. –

+0

HEAD 요청을 할 때 header_가 정의 된 _ 후에 요청이 끝납니다. 나는'header' 콜백이 호출 될 즈음에 연결이 이미 닫혀있을 것이라고 생각합니다. 이벤트 루프를 종료하지 않으려면'EventMachine.stop'을 제거하십시오. –