class Esignatur::Api
all raw http requests are made using Api
instance
Constants
- DEFAULT_BASE_URL
Attributes
api_key[R]
base_url[R]
Public Class Methods
new(api_key:, base_url: DEFAULT_BASE_URL)
click to toggle source
# File lib/esignatur/api.rb, line 13 def initialize(api_key:, base_url: DEFAULT_BASE_URL) @api_key = api_key.to_s @base_url = base_url end
Public Instance Methods
get(relative_url, headers: {})
click to toggle source
# File lib/esignatur/api.rb, line 22 def get(relative_url, headers: {}) make_request(:get, relative_url, extra_headers: headers) end
post(relative_url, data:, headers: {})
click to toggle source
# File lib/esignatur/api.rb, line 18 def post(relative_url, data:, headers: {}) make_request(:post, relative_url, data: data, extra_headers: headers) end
Private Instance Methods
default_headers()
click to toggle source
# File lib/esignatur/api.rb, line 39 def default_headers { 'X-eSignatur-Id' => api_key, 'Accept' => 'application/json', 'Content-Type' => 'application/json' } end
make_request(http_method, relative_url, extra_headers: {}, data: nil)
click to toggle source
# File lib/esignatur/api.rb, line 30 def make_request(http_method, relative_url, extra_headers: {}, data: nil) url = URI.join(base_url, relative_url).to_s headers = default_headers.merge(extra_headers) raw_response = Faraday.public_send(http_method, url, data&.to_json, headers) request = RequestInfo.new(http_method, url, headers) Esignatur::Api::Response.new(raw_response, request: request) end