【问题标题】:Adding http headers to sunspot rails request将 http 标头添加到 sunspot rails 请求
【发布时间】:2013-06-24 09:30:14
【问题描述】:

我们正在使用 sunspot-rails 连接到 websolr。我正在尝试找到一种将 http 标头添加到传出请求的方法。样本仅适用于 rsolr,但不适用于 sunspot-rails。(https://github.com/onemorecloud/websolr-demo-advanced-auth)。

目的是使用标头进行身份验证。有没有办法从 sunspot-rails 添加/修改 http 标头以用于索引和查询调用?

【问题讨论】:

    标签: sunspot-rails websolr


    【解决方案1】:

    我想我找到了答案: https://groups.google.com/forum/#!searchin/ruby-sunspot/authentication/ruby-sunspot/-FtTQdg4czs/mvOuB7g8yCgJ

    outoftime 在此引用的示例将是检索 http 对象的解决方案。

    class SolrConnectionFactoryWithTimeout
      def initialize(timeout = 60)
        @timeout = timeout
      end
    
      def connect(opts = {})
        client = RSolr.connect(opts)
        solr_connection = client.connection
        http = solr_connection.connection
        http.read_timeout = @timeout
        client
      end
    end
    
    Sunspot::Session.connection_class =
    SolrConnectionFactoryWithTimeout.new(timeout.to_f)
    

    然后结合使用 http://ruby-doc.org/stdlib-2.0/libdoc/net/http/rdoc/Net/HTTP.html#label-Setting+Headers

    req = Net::HTTP::Get.new(uri)
    req['If-Modified-Since'] = file.mtime.rfc2822
    

    【讨论】:

      猜你喜欢
      • 2017-02-15
      • 2012-12-01
      • 1970-01-01
      • 2013-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多