Sha256: eb0de3b3d451412365bd4b4798039c27708803bb873eb88de023b1078db53968
Contents?: true
Size: 705 Bytes
Versions: 9
Compression:
Stored size: 705 Bytes
Contents
#! /usr/bin/env ruby $LOAD_PATH.unshift File.expand_path(File.join(File.dirname(__FILE__), 'lib')) require 'json' require 'panoptimon-collector-http' ARGV[0] or raise "arguments required" conf = JSON.parse(ARGV[0], {symbolize_names: true}) defaults = { method: conf[:default_method] || 'head', timeout: conf[:default_timeout] || 3, } raise "must have 'urls' value in config" unless conf[:urls] setup = conf[:urls].map {|u| o = defaults.merge(u.is_a?(Hash) ? u : {url: u}) o[:url] = 'http://' . o[:url] unless o[:url].match(%r{^\w+://}) o[:name] ||= o[:url].to_s o } output = Hash[setup.map {|o| [o[:name], Panoptimon::Collector::HTTP.new(o[:url], o).go] }] puts JSON.generate(output)
Version data entries
9 entries across 9 versions & 1 rubygems