2013-09-08 1 views
1

Я пытаюсь использовать HTTParty для выполнения HTTP-запроса внутри одного приложения Sinatra. Я могу выполнить тот же запрос успешно вне приложения Синатра, но когда она выполняется в приложении, я всегда получаю то же самое исключение:Использование сбоев HTTParty Sinatra

2013-09-08T16:04:44.738207+00:00 app[web.1]: [2013-09-08 16:04:44] ERROR NoMethodError: undefined method 'status=' for #<HTTParty::Response:0x007f17c050dd70>` 
2013-09-08T16:04:44.837777+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.3/lib/sinatra/base.rb:225:in `status' 
2013-09-08T16:04:44.936617+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.3/lib/sinatra/base.rb:1080:in `handle_exception!' 
2013-09-08T16:04:45.039513+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.3/lib/sinatra/base.rb:1062:in `block in dispatch!' 
2013-09-08T16:04:45.139212+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.3/lib/sinatra/base.rb:1041:in `block in invoke' 
2013-09-08T16:04:45.238557+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.3/lib/sinatra/base.rb:1041:in `catch' 
2013-09-08T16:04:45.338714+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.3/lib/sinatra/base.rb:1041:in `invoke' 
2013-09-08T16:04:45.437306+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.3/lib/sinatra/base.rb:1062:in `rescue in dispatch!' 
2013-09-08T16:04:45.536146+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.3/lib/sinatra/base.rb:1069:in `dispatch!' 

Остальная часть трассировки стека не имеет значения. Я уверен, что запрос завершается успешно. Точный код, который выполняет запрос выглядит следующим образом:

@response = HTTParty.get("https://foursquare.com/oauth2/access_token", 
      :query => {:client_id => settings.client_id, 
         :client_secret => settings.client_secret, 
         :grant_type => "authorization_code", 
         :redirect_uri => settings.redirect_uri, 
         :code => @code}) 

Похоже, Синатр пытается спасти некоторое исключение, а затем вызывает метод status на результате запроса HTTP я исполняла с HTTParty.

Итак, было бы прекрасно понять, что именно происходит, и почему Синатра даже сделает это.

Большое спасибо за ваши ответы.

ответ

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

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