diff options
| author | mokha <mokha@cisco.com> | 2018-05-08 12:44:11 -0600 |
|---|---|---|
| committer | mokha <mokha@cisco.com> | 2018-05-08 12:44:11 -0600 |
| commit | 91817914b1c761a0a1a505eb6f6420ec6cceaa5e (patch) | |
| tree | 42f1c4e233bcf7b697fab12a960f64c1c0f3b899 | |
| parent | 27be59407ed3be2c569538075f7df1bdaa176808 (diff) | |
create Net::Hippie::Api.
| -rw-r--r-- | lib/net/hippie/api.rb | 26 | ||||
| -rw-r--r-- | lib/net/hippie/client.rb | 6 |
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 |
