diff options
Diffstat (limited to 'lib')
| -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 |
