summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authormokha <mokha@cisco.com>2018-05-08 12:44:11 -0600
committermokha <mokha@cisco.com>2018-05-08 12:44:11 -0600
commit91817914b1c761a0a1a505eb6f6420ec6cceaa5e (patch)
tree42f1c4e233bcf7b697fab12a960f64c1c0f3b899 /lib
parent27be59407ed3be2c569538075f7df1bdaa176808 (diff)
create Net::Hippie::Api.
Diffstat (limited to 'lib')
-rw-r--r--lib/net/hippie/api.rb26
-rw-r--r--lib/net/hippie/client.rb6
2 files changed, 31 insertions, 1 deletions
diff --git a/lib/net/hippie/api.rb b/lib/net/hippie/api.rb
new file mode 100644
index 0000000..dbb9024
--- /dev/null
+++ b/lib/net/hippie/api.rb
@@ -0,0 +1,26 @@
+module Net
+ module Hippie
+ class Api
+ attr_reader :uri, :verify_mode
+
+ def initialize(url, verify_none: false)
+ @uri = URI.parse(url)
+ @verify_mode = OpenSSL::SSL::VERIFY_NONE if verify_none
+ end
+
+ def get
+ client.get(uri).body
+ end
+
+ def execute(request)
+ client.execute(uri, request)
+ end
+
+ private
+
+ def client
+ @client ||= Client.new(headers: {}, verify_mode: verify_mode)
+ end
+ end
+ end
+end
diff --git a/lib/net/hippie/client.rb b/lib/net/hippie/client.rb
index 5022dab..b5094c5 100644
--- a/lib/net/hippie/client.rb
+++ b/lib/net/hippie/client.rb
@@ -13,13 +13,15 @@ module Net
headers: DEFAULT_HEADERS,
key: nil,
mapper: JsonMapper.new,
- passphrase: nil
+ passphrase: nil,
+ verify_mode: nil
)
@certificate = certificate
@default_headers = headers
@key = key
@mapper = mapper
@passphrase = passphrase
+ @verify_mode = verify_mode
end
def execute(uri, request)
@@ -60,6 +62,7 @@ module Net
private
attr_reader :default_headers
+ attr_reader :verify_mode
attr_reader :certificate, :key, :passphrase
attr_reader :mapper
@@ -68,6 +71,7 @@ module Net
http = Net::HTTP.new(uri.host, uri.port)
http.read_timeout = 30
http.use_ssl = uri.is_a?(URI::HTTPS)
+ http.verify_mode = verify_mode
http.set_debug_output(Net::Hippie.logger)
if certificate && key
http.cert = OpenSSL::X509::Certificate.new(certificate) if certificate