Sha256: dffcde5e983c4caffee53dcf0792370838f012206d9f7819f91d20bb8e660e10
Contents?: true
Size: 1.51 KB
Versions: 2
Compression:
Stored size: 1.51 KB
Contents
# frozen_string_literal: true module Mihari module Clients class Base # @return [String] attr_reader :base_url # @return [Hash] attr_reader :headers # @return [Integer] attr_reader :pagination_interval # @return [Integer, nil] attr_reader :timeout # # @param [String] base_url # @param [Hash] headers # @param [Integer] pagination_interval # @param [Integer, nil] timeout # def initialize(base_url, headers: {}, pagination_interval: Mihari.config.pagination_interval, timeout: nil) @base_url = base_url @headers = headers || {} @pagination_interval = pagination_interval @timeout = timeout end private def sleep_pagination_interval sleep pagination_interval end # # @return [::HTTP::Client] # def http HTTP::Factory.build headers: headers, timeout: timeout end # # @param [String] path # # @return [String] # def url_for(path) base_url + path end # # @param [String] path # @param [Hash, nil] params # # @return [::HTTP::Response] # def get(path, params: nil) http.get(url_for(path), params: params) end # # @param [String] path # @param [Hash, nil] json # # @return [::HTTP::Response] # def post(path, json: {}) http.post(url_for(path), json: json) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mihari-5.6.2 | lib/mihari/clients/base.rb |
mihari-5.6.1 | lib/mihari/clients/base.rb |