Как я могу обрабатывать ошибки с HTTParty?


Я работаю над приложением Rails, используя HTTParty для выполнения HTTP-запросов. Как я могу обрабатывать ошибки HTTP с помощью HTTParty? В частности, мне нужно поймать HTTP 502 & 503 и другие ошибки, такие как отказ от соединения и ошибки таймаута.

3 63

3 ответа:

экземпляр HTTParty:: Response есть

этот ответ касается сбоев подключения. Если URL-адрес не найден код не поможет вам. Спасите его вот так:

 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

дополнительная информация: эта проблема github

вы также можете использовать такие удобные методы сказуемое как success? или bad_gateway? таким образом:

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

полный список возможных ответов можно найти в разделе Rack::Utils::SYMBOL_TO_STATUS_CODE константы.