将URI查询设置为过程,以便它可以随每个请求而更改

时间:2013-06-06 18:17:48

标签: ruby http

我有一个轮询器设置来每秒查询一个URL。但是,我正在尝试更改我正在进行的请求的查询,因为查询包含一个过期的安全令牌,需要用新的时间重新签名。

这样的事情对我有用:

class Poller 
  def initialize(uri, query)
    @uri = URI.parse("https://www.google.com")
    @uri.query = query
  end

  # This is in a class running in a loop running once a second
  def run
    Net::HTTPS.start(@uri.host, @uri.port) do |http|
      # My changing request.
      http.request(@query) do |response|
        # Do stuff with response
      end
    end
  end
end

Poller.new('https://www.google.com', query: my_proc_method) do |fh|
  file = File.new(fh)
  hash = Hash.from_xml(file)
end

0 个答案:

没有答案