Al usar Eventmachine para ejecutar asincrónicamente una solicitud HTTP, ya sea usando em-http-request o de otro modo, ¿es posible obtener información sobre el error en la devolución de llamada errback? ¿Como error de conexión vs. tiempo de espera vs. respuesta no válida?Obtenga información sobre el error al utilizar Eventmachine Http Request
5
A
Respuesta
6
Ha pasado un tiempo desde que se le preguntó a este, pero me encontré tratando de hacer lo mismo hoy. Hay un getter de errores en el objeto HttpClient. Aquí está mi enfoque general, el uso de una piscina de fibra:
fiber = Fiber.current
@request = EventMachine::HttpRequest.new(url)
@http = @request.get(opts)
@http.errback do
fiber.resume Exception.new("An error occurred in the HTTP request: #{@http.errors}", self)
end
@http.callback do
fiber.resume true
end
result = fiber.yield
raise result if result.kind_of?(Exception)
Una cosa que no he encontrado la manera de hacer es detectar los errores de tiempo de espera, si se quiere diferenciar los de cualquier otra cosa. El enfoque más simple sería cronometrar la solicitud y determinar si es más larga que el tiempo de espera especificado, pero no he encontrado nada en em-http-request que distinga los tipos de error.
Cuestiones relacionadas
- 1. Mercurial: obtenga información sobre repositorios sin clonarlos
- 2. http post request erlang
- 3. JAVA: http post request
- 4. PHP SOAP HTTP Request
- 5. Android, Java: HTTP POST Request
- 6. Http Request Life Cycle
- 7. Copiando Http Request InputStream
- 8. Http Request - Bypass DNS [.Net]
- 9. Node.js Https request Error
- 10. ¿cómo puedo mostrar información sobre herramientas o información sobre el elemento al pasar el mouse?
- 11. Iphone Http request response using json
- 12. Obtenga información sobre la escucha de eventos en JavaScript
- 13. Reading HTTP Request Headers personalizados
- 14. Error al utilizar alassestsLibrary
- 15. Nombre para HTTP Request + Response
- 16. solicitud HTTP node.js utilizando 'request' de mikeal
- 17. Preservar información sobre herramientas al exportar GraphPlot
- 18. HTTP Error 403.14 - Error prohibido al acceder al sitio web
- 19. LNK2022 Error al utilizar/clr
- 20. Parámetros múltiples en http get request
- 21. RequestTimeTooSkewed Error al utilizar PHP S3 Clase
- 22. cómo obtener información sobre el cliente en Node.js
- 23. Spring MVC Request body error handling
- 24. jQuery ajax request using jsonp error
- 25. Obtenga información actual de JNLP
- 26. Enviando encabezados HTTP con HTTP Web Request para autenticación NTLM
- 27. node.js: Mock http request and response
- 28. jQuery Get Request on HTTP URL
- 29. HTTP GET Request, ASP - ¡Estoy perdido!
- 30. Información sobre herramientas que no se muestra al pasar el ratón sobre los polígonos SVG
En realidad es 'http.error'; desafortunadamente, a menudo está en blanco. –