Commit 9181791

mokha <mokha@cisco.com>
2018-05-08 18:44:11
create Net::Hippie::Api.
1 parent 27be594
Changed files (2)
lib
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
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