class ITCAnalytics::Interfaces::Controllers::Http

Public Class Methods

hash_response(res) click to toggle source
# File lib/itc_analytics/interfaces/controllers/http.rb, line 47
def self.hash_response(res) 
        begin
                body = res.body
        rescue Exception => e
                body = ""
        end
        return Hash["error" => !res.is_a?(Net::HTTPSuccess), 
                                "body" => body,
                                "code" => res.code,
                                "message" => res.message,
                                "headers" => res.to_hash]
end

Public Instance Methods

fire_request(uri:, request:) click to toggle source
# File lib/itc_analytics/interfaces/controllers/http.rb, line 33
def fire_request(uri:, request:) 

        http = Net::HTTP.new(uri.host, uri.port)
        http.use_ssl = true 
        http.verify_mode = OpenSSL::SSL::VERIFY_NONE

        #remove
        http.set_debug_output($stdout)
        
        res = http.request(request)

        return Http.hash_response(res)
end
get(url:, headers:) click to toggle source
# File lib/itc_analytics/interfaces/controllers/http.rb, line 9
def get(url:, headers:)
        uri = URI(url)

        request = Net::HTTP::Get.new(uri)
        headers.each do |key, value|
                request[key] = value
        end

        return fire_request(uri: uri, request: request)

end
post(url:, headers:, post_body:) click to toggle source
# File lib/itc_analytics/interfaces/controllers/http.rb, line 20
def post(url:, headers:, post_body:) 
        uri = URI(url)

        request = Net::HTTP::Post.new(uri)
        request.body = post_body
        headers.each do |key, value|
                request[key] = value
        end

        return fire_request(uri: uri, request: request)

end