class CeleryClient::HTTP

Public Class Methods

new(config) click to toggle source
# File lib/celery_client/http.rb, line 7
def initialize(config)
  @url = config.fetch('url')
  @username = config.fetch('username')
  @password = config.fetch('password')
end

Public Instance Methods

get(path, params={}) click to toggle source
# File lib/celery_client/http.rb, line 13
def get(path, params={})
    uri = URI("#{@url}#{path}")
    uri.query = URI.encode_www_form(params)
    request = Net::HTTP::Get.new(uri.request_uri)
    make_request(request, uri)
end
post(path, params={}) click to toggle source
# File lib/celery_client/http.rb, line 20
def post(path, params={})
    uri = URI("#{@url}#{path}")
    request = Net::HTTP::Post.new(uri.request_uri)
    request.set_form_data(params)
    make_request(request, uri)
end

Private Instance Methods

make_request(request, uri) click to toggle source
# File lib/celery_client/http.rb, line 29
def make_request(request, uri)
  request.basic_auth @username, @password
  response = Net::HTTP.start(uri.host, uri.port,
    :use_ssl => uri.scheme == 'https', :verify_mode => OpenSSL::SSL::VERIFY_NONE) do |http|
    http.request(request)
  end
  case response
  when Net::HTTPSuccess, Net::HTTPRedirection
    response.body
  else
    response.value
  end
end