Class: Openpix::RubySdk::HttpClient

Inherits:
Object
  • Object
show all
Defined in:
lib/openpix/ruby_sdk/http_client.rb

Overview

Application HTTP Client to make requests, it uses Faraday as the wrapper and defaults to STD Lib client (Net::HTTP)

Constant Summary collapse

BASE_URL =
'https://api.woovi.com/api'
API_VERSION =
'/v1'

Class Attribute Summary collapse

Instance Method Summary collapse

Class Attribute Details

.instanceObject (readonly)

Returns the value of attribute instance.



18
19
20
# File 'lib/openpix/ruby_sdk/http_client.rb', line 18

def instance
  @instance
end

Instance Method Details

#delete(resource, headers: {}) ⇒ Object



49
50
51
52
53
# File 'lib/openpix/ruby_sdk/http_client.rb', line 49

def delete(resource, headers: {})
  @http_client.delete(resource) do |request|
    request.headers = request.headers.merge(headers)
  end
end

#get(resource, params: {}, headers: {}) ⇒ Object



42
43
44
45
46
47
# File 'lib/openpix/ruby_sdk/http_client.rb', line 42

def get(resource, params: {}, headers: {})
  @http_client.get(resource) do |request|
    request.params = params
    request.headers = request.headers.merge(headers)
  end
end

#initialize_http_client(auth_token, api_url = BASE_URL, api_version = API_VERSION) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/openpix/ruby_sdk/http_client.rb', line 21

def initialize_http_client(auth_token, api_url = BASE_URL, api_version = API_VERSION)
  @http_client = Faraday.new(
    url: "#{api_url}#{api_version}",
    headers: {
      'Authorization' => auth_token
    }
  ) do |f|
    f.request :json
    f.response :json
    f.adapter :httpclient
  end
end

#post(resource, body:, headers: {}, params: {}) ⇒ Object



34
35
36
37
38
39
40
# File 'lib/openpix/ruby_sdk/http_client.rb', line 34

def post(resource, body:, headers: {}, params: {})
  @http_client.post(resource) do |request|
    request.params = params
    request.headers = request.headers.merge(headers)
    request.body = body
  end
end