PubSubHubbub и Ruby on Rails: проверка подписки - PullRequest
0 голосов
/ 03 июня 2011

Я пытаюсь реализовать Подписки Superfeedr , используя PubSubHubbub и Ruby on Rails.Проблема в том, что подписки никогда не подтверждаются, хотя мой обратный вызов выводит строку hub.challenge, которую он успешно получает.

  def push
    feed = Feed.find(params[:id])
    if feed.present?
      if params['hub.mode'].present? and params['hub.verify_token'] == feed.secret
        feed.update_attribute(:is_active, (params['hub.mode'] == 'subscribe'))
        render text: params['hub.challenge']
        return
      elsif params['hub.secret'] == feed.secret
        parse(feed, request.raw_post)
      end
    end
    render nothing: true
  end

Он устанавливает feed.is_active = true, но Superfeedr Analytics не показывает никаких признаковподписки.

Я использую хостинг 1 dyno Heroku и метод асинхронной проверки.

1 Ответ

1 голос
/ 03 июня 2011

Первое, что вы должны проверить, это код состояния HTTP и ответное тело вашего запроса на подписку.Я ожидаю, что код 422 будет указывать, что подписка была неудачной, но тело поможет нам точно знать, что происходит.

Кроме того, вы видите запрос проверки в журналах?

Общая проблема с heroku заключается в том, что если вы используете hub.verify = sync, вам понадобится 2 динамограммы, поскольку в этом случае вам придется выполнять параллельные запросы ...

...