我们正在使用 sunspot-rails 连接到 websolr。我正在尝试找到一种将 http 标头添加到传出请求的方法。这些示例仅适用于 rsolr,但不适用于 sunspot-rails。( https://github.com/onemorecloud/websolr-demo-advanced-auth )。
目的是使用标头进行身份验证。有没有办法从 sunspot-rails 添加/修改 http 标头以进行索引和查询调用?
我们正在使用 sunspot-rails 连接到 websolr。我正在尝试找到一种将 http 标头添加到传出请求的方法。这些示例仅适用于 rsolr,但不适用于 sunspot-rails。( https://github.com/onemorecloud/websolr-demo-advanced-auth )。
目的是使用标头进行身份验证。有没有办法从 sunspot-rails 添加/修改 http 标头以进行索引和查询调用?
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