2016-01-18 6 views
0

В настоящее время для проекта я использую драгоценный камень api_auth. Я нажимаю на внешний api в функции, делая подписанный запрос. В настоящее время мой код выглядит так.Как обрабатывать ошибки при использовании api_auth gem?

access_id = "someKey" 
secret_key = "someRandomGeneratedKey" 
request = RestClient::Request.new(url: 'serverUrl', method: get, headers:'headers') 

@signed_request = ApiAuth.sign!(access_id, secret_key, request) 
@signed_request.execute 

Я не могу применить код обработки ошибок к этому последнему оператору, в котором я выполняю запрос. Какие-либо предложения?

ответ

0

Вы должны использовать начальный блок спасения для обработки исключений.

begin 
    #TODO Exception occurring statement 
rescue 
    #Exception handling code 
end 

Как вы должны спасать конкретное исключение, а не все. Так как ваш код подсказывает, что вы используете rest_client & api-auth gem, поэтому из документации вы можете получить список исключений, которые этот драгоценный камень повышает.

Пример: для rest_client следующие исключения должны обрабатываться. (Вероятно, это решение вашей проблемы, просто замените последнюю строку, как указано ниже)

begin 
    @signed_request.execute 
rescue RestClient::ExceptionWithResponse, URI::InvalidURIError, RestClient::InternalServerError => err 
    p err 
end 

Есть несколько исключений также порождаемых api-auth самоцвета также как ApiAuth::ApiAuthError, ApiAuth::UnknownHTTPRequest так что вам нужно, чтобы спасти все это исключения.

Ссылка Ссылка -

http://www.rubydoc.info/gems/api-auth/1.4.0/

Спасибо!

+0

@wallydrag - этот ответ помогает? – RockStar

 Смежные вопросы

  • Нет связанных вопросов^_^