class AzkabanScheduler::Client
Public Class Methods
new(url)
click to toggle source
# File lib/azkaban_scheduler/client.rb, line 6 def initialize(url) uri = URI(url) @http = Net::HTTP.new(uri.host, uri.port) @http.use_ssl = uri.scheme == 'https' end
Public Instance Methods
get(path, params=nil, headers=nil)
click to toggle source
# File lib/azkaban_scheduler/client.rb, line 12 def get(path, params=nil, headers=nil) path += "?#{URI.encode_www_form(params)}" if params req = Net::HTTP::Get.new(path) send_request(req, headers) end
multipart_post(path, params, headers=nil)
click to toggle source
# File lib/azkaban_scheduler/client.rb, line 24 def multipart_post(path, params, headers=nil) req = Net::HTTP::Post::Multipart.new(path, params) send_request(req, headers) end
post(path, params=nil, headers=nil)
click to toggle source
# File lib/azkaban_scheduler/client.rb, line 18 def post(path, params=nil, headers=nil) req = Net::HTTP::Post.new(path) req.set_form_data(params) if params send_request(req, headers) end
Private Instance Methods
dump_response(response)
click to toggle source
# File lib/azkaban_scheduler/client.rb, line 39 def dump_response(response) puts "HTTP/#{response.http_version} #{response.code} #{response.message}" response.each_header do |name, value| puts "#{name}: #{value}" end puts puts "#{response.body}" puts "-" * 60 end
send_request(request, headers)
click to toggle source
# File lib/azkaban_scheduler/client.rb, line 31 def send_request(request, headers) request['Accept'] = 'application/json' headers.each { |name, value| request[name] = value } if headers response = @http.request(request) dump_response(response) if ENV['DUMP_AZKABAN_RESPONSES'] response end