Sha256: de0843d93de041bd20f3b824ef2a3c7869eb3bab7f9ee49881ca405ba27095d7

Contents?: true

Size: 847 Bytes

Versions: 4

Compression:

Stored size: 847 Bytes

Contents

module NFAgent
  class Client
     SERVICE_HOST = "collector.service.netfox.com"

    def self.post(end_point, data_hash)
      proxy_class = Net::HTTP::Proxy(Config.http_proxy_host, Config.http_proxy_port, Config.http_proxy_user, Config.http_proxy_password)
      # TODO: Enable SSL
      proxy_class.start(SERVICE_HOST, 80) do |http|
        http.read_timeout = 120 # 2 minutes TODO: Make this a config option with 120 as default
        req = Net::HTTP::Post.new("/#{end_point}")
        req.set_form_data(data_hash.merge("key" => Config.client_key))
        ClientResponse.new do |resp|
          resp.response, resp.message = http.request(req)
        end
      end
    rescue Exception => e
      # Trap Exception class here to ensure we catch Timeout
      ClientResponse.new do |resp|
        resp.message = $!
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
nfagent-0.9.31 lib/nfagent/client.rb
nfagent-0.9.19 lib/nfagent/client.rb
nfagent-0.9.17 lib/nfagent/client.rb
nfagent-0.9.15 lib/nfagent/client.rb