From e1559940eed40096bce292f626bac482d27c55c9 Mon Sep 17 00:00:00 2001 From: ldep30 Date: Fri, 10 Jun 2016 16:06:33 +0200 Subject: Update rest_client.rb to support 'rest' parameter --- extra/rest_client.rb | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/extra/rest_client.rb b/extra/rest_client.rb index a16bd42..5809457 100644 --- a/extra/rest_client.rb +++ b/extra/rest_client.rb @@ -2,8 +2,32 @@ module Oxidized class RestClient require 'net/http' require 'json' - HOST = 'localhost' - PORT = 8888 + require 'uri' + require 'asetus' + + class Config + Root = File.join ENV['HOME'], '.config', 'oxidized' + end + + CFGS = Asetus.new :name=>'oxidized', :load=>false, :key_to_s=>true + CFGS.default.rest = '127.0.0.1:8888' + + begin + CFGS.load + rescue => error + raise InvalidConfig, "Error loading config: #{error.message}" + ensure + CFG = CFGS.cfg + end + + restcfg = CFG.rest + if ! restcfg.match(/^http:\/\//) + restcfg.insert(0, 'http://') + end + + HOST = URI(restcfg).host + PORT = URI(restcfg).port + PATH = URI(restcfg).path class << self def next opt={}, host=HOST, port=PORT @@ -18,7 +42,7 @@ module Oxidized def next opt data = JSON.dump opt - @web.put '/node/next/' + opt[:name].to_s, data + @web.put PATH + '/node/next/' + opt[:name].to_s, data end end -- cgit v1.2.1