restclient rails headers example ruby-on-rails ruby httparty

ruby-on-rails - rails - ruby restclient post



¿Cómo puedo manejar los errores con HTTParty? (3)

También puede utilizar métodos de predicado tan útiles como el success? o bad_gateway? De este modo:

response = HTTParty.post(uri, options) p response.success?

La lista completa de posibles respuestas se puede encontrar en Rack::Utils::SYMBOL_TO_STATUS_CODE constant.

Estoy trabajando en una aplicación Rails utilizando HTTParty para realizar solicitudes HTTP. ¿Cómo puedo manejar los errores de HTTP con HTTParty? Específicamente, necesito capturar HTTP 502 y 503 y otros errores como la conexión rechazada y los errores de tiempo de espera.


Esta respuesta aborda los fallos de conexión. Si no se encuentra una URL, el código de estado no te ayudará. Rescátalo así:

begin HTTParty.get(''http://google.com'') rescue HTTParty::Error # don´t do anything / whatever rescue StandardError # rescue instances of StandardError, # i.e. Timeout::Error, SocketError etc end

Para más información ver: este tema github.


Una instancia de HTTParty::Response tiene un atributo de code que contiene el código de estado de la respuesta HTTP. Se da como un número entero. Entonces, algo como esto:

response = HTTParty.get(''http://twitter.com/statuses/public_timeline.json'') case response.code when 200 puts "All good!" when 404 puts "O noes not found!" when 500...600 puts "ZOMG ERROR #{response.code}" end