module Unleash::Util::Http
Public Class Methods
get(url, etag = nil)
click to toggle source
# File lib/unleash/util/http.rb, line 7 def self.get(url, etag = nil) uri = URI(url) http = http_connection(uri) request = Net::HTTP::Get.new(uri.request_uri, http_headers(etag)) http.request(request) end
post(url, body)
click to toggle source
# File lib/unleash/util/http.rb, line 16 def self.post(url, body) uri = URI(url) http = http_connection(uri) request = Net::HTTP::Post.new(uri.request_uri, http_headers) request.body = body http.request(request) end
Private Class Methods
http_connection(uri)
click to toggle source
# File lib/unleash/util/http.rb, line 26 def self.http_connection(uri) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true if uri.scheme == 'https' http.open_timeout = Unleash.configuration.timeout # in seconds http.read_timeout = Unleash.configuration.timeout # in seconds http end
http_headers(etag = nil)
click to toggle source
# File lib/unleash/util/http.rb, line 35 def self.http_headers(etag = nil) Unleash.logger.debug "ETag: #{etag}" unless etag.nil? headers = (Unleash.configuration.http_headers || {}).dup headers['Content-Type'] = 'application/json' headers['If-None-Match'] = etag unless etag.nil? headers end