summaryrefslogtreecommitdiff
path: root/lib/net/hippie/api.rb
blob: f77ba4e75af9f66af8b2e4e8f51e2ea5a515f080 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# frozen_string_literal: true

module Net
  module Hippie
    # A no nonsense class to perform HTTP requests.
    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