lib/bundles/inspec-compliance/http.rb in inspec-1.6.0 vs lib/bundles/inspec-compliance/http.rb in inspec-1.7.0
- old
+ new
@@ -7,20 +7,17 @@
module Compliance
# implements a simple http abstraction on top of Net::HTTP
class HTTP
# generic get requires
- def self.get(url, token, insecure, basic_auth = false)
+ def self.get(url, headers = nil, insecure)
uri = URI.parse(url)
req = Net::HTTP::Get.new(uri.path)
-
- return send_request(uri, req, insecure) if token.nil?
-
- if basic_auth
- req.basic_auth(token, '')
- else
- req['Authorization'] = "Bearer #{token}"
+ if !headers.nil?
+ headers.each do |key, value|
+ req.add_field(key, value)
+ end
end
send_request(uri, req, insecure)
end
# generic post request
@@ -37,23 +34,21 @@
send_request(uri, req, insecure)
end
# post a file
- def self.post_file(url, token, file_path, insecure, basic_auth = false)
+ def self.post_file(url, headers, file_path, insecure)
uri = URI.parse(url)
fail "Unable to parse URL: #{url}" if uri.nil? || uri.host.nil?
http = Net::HTTP.new(uri.host, uri.port)
# set connection flags
http.use_ssl = (uri.scheme == 'https')
http.verify_mode = OpenSSL::SSL::VERIFY_NONE if insecure
req = Net::HTTP::Post.new(uri.path)
- if basic_auth
- req.basic_auth token, ''
- else
- req['Authorization'] = "Bearer #{token}"
+ headers.each do |key, value|
+ req.add_field(key, value)
end
req.body_stream=File.open(file_path, 'rb')
req.add_field('Content-Length', File.size(file_path))
req.add_field('Content-Type', 'application/x-gtar')