Как решить "ключ не найден:: шифры"? - PullRequest
1 голос
/ 10 апреля 2019

Я очень ржавый с рельсами, и я думаю, что многое изменилось за 7 лет, так как я работал с ним.

Я пытаюсь настроитьэтот пример приложения: https://iridakos.com/news/2015/06/21/rails-sample-api-ui

Проблема, с которой я сталкиваюсь, заключается в том, что пользовательский интерфейс неправильно взаимодействует с API.Я получаю ошибку на скриншоте ниже.

Приложение пользовательского интерфейса lofocats дает мне следующую трассировку стека:

KeyError (key not found: :ciphers):
  lib/api/resource.rb:39:in `execute'
  app/models/cat_entry.rb:46:in `all'
  app/controllers/cat_entries_controller.rb:9:in `index'
  app/controllers/application_controller.rb:44:in `set_api_authentication_token'

строка 44 в application_controler.rb - первая строка блока начала (Api::Configuration.current_authentication_token = session[:user_information][:authentication_token] if is_user_signed_in?):

def set_api_authentication_token
  begin
    Api::Configuration.current_authentication_token = session[:user_information][:authentication_token] if is_user_signed_in?
    yield
  ensure
    # Always nullify the token after each action.
    Api::Configuration.current_authentication_token = nil
  end
end

Я не уверен, как обойти эту ошибку.Я не видел этого раньше, и поиск SO дает некоторые специфические ответы Cloudinary.

screenshot of error

Ответы [ 2 ]

1 голос
/ 11 июня 2019

Просто отвечаю 9 лет спустя, так как это была одна из единственных тем, которые я нашел по этой проблеме.В моем случае использование Unirest и RestClient дало мне ошибку в заголовке, несмотря на то, что мои вызовы работали из командной строки с Curl.Я переключился на гем HTTParty, и больше никаких ошибок.

Исходя из обсуждения GitHub RestClient, это может быть связано с тем, что RestClient и Unirest "проверяют наличие слабых шифров TLS по умолчанию" из-за того, что в более старых версиях Ruby отсутствует "список нормальных шифров".

https://github.com/rest-client/rest-client/pull/573

0 голосов
/ 10 апреля 2019

Как вы взаимодействуете с API?Вы используете какой-нибудь драгоценный камень?У меня похожая ошибка сообщения, когда я использовал устаревший rest-client gem.Обновление с 1.X до 2.X решенная проблема.

NoMethodError (undefined method `response' for #<KeyError: key not found: :ciphers>)

Может быть, какой-нибудь драгоценный камень использует устаревший rest-client драгоценный камень?Это была моя проблема (если я правильно помню), я раздвоил репо и обновил зависимость

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...